ETL工具-nifi干货系列 第十四讲 nifi处理器PublishKafka实战教程
1、kettle的kafka生产者叫kafka producer,nifi中的相应处理器为PublishKafka,如下图所示:

可以很清楚的看到PublishKafka处理器支持多个版本的kafka,选择时要根据自己的kafka 版本选择相匹配的PublishKafka处理器,由于本人使用的是kafka2.x,所以这里选择PublishKafka_2_0处理器。
处理器xxxRecord和xxx的区别,如PublishKafka和PublishKafkaRecord:
处理器xxx:将整个 FlowFile 中的内容作为一个消息进行发送,
xxxxxxRecord:将 FlowFile 中的内容拆分成多个记录(或行),然后将每个记录作为一个单独的消息进行发送。
2、flow demo 设计,如下图所示:

GenerateFlowFile:产生自定义数据“我是java小金刚”
PublishKafka:将“我是java小金刚”写入kafka。
LogMessage:打印消息。
3、处理器PublishKafka属性配置,如下图所示:

Kafka Brokers:以 host:port 格式表示的 Kafka Broker,集群列表通过逗号,如192.168.101.5:9092,192.168.101.6:9092
Security Protocol: 用于与代理通信的安全协议。对应于 Kafka 客户端的 security.protocol 属性。这里我们使用默认值PLAINTEXT
SASL Mechanism:用于认证的 SASL 机制。对应于 Kafka 客户端的 sasl.mechanism 属性。这里我们使用默认值GSSAPI
Kerberos Service Name:与broker JAAS 配置中配置的 Kafka 服务器的主要名称匹配的服务名称。
Kerberos Credentials Service:支持使用 Kerberos 进行通用凭证认证的服务。
Kerberos Principal:用于与 Kerberos 进行身份验证的主体。
Kerberos Keytab:用于与 Kerberos 进行身份验证的 Keytab 凭据,这个属性需要提供一个文件。
SSL Context Service:支持与 Kafka brokers 进行 SSL 通信的服务。
Topic Name:要发布到的 Kafka 主题的名称。
Delivery Guarantee:指定确保消息发送到 Kafka 的要求。对应于 Kafka 的 'acks' 属性。根据具体情况选择,这里使用默认值。
Failure Strategy:如果处理器无法将数据发布到 Kafka,指定处理流文件的方式。有Route to Failure 、Rollback 两个选项。
Use Transactions:指定在与 Kafka 通信时,NiFi 是否应提供事务性保证。

Transactional Id Prefix:当 "Use Transaction" 设置为 true 时,KafkaProducer 配置 'transactional.id' 将生成一个 UUID,并以此字符串为前缀。
Attributes to Send as Headers (Regex):匹配所有 FlowFile 属性名称的正则表达式。任何名称与 regex 匹配的属性将作为标头添加到 Kafka 消息中。如果未指定,则不会将任何 FlowFile 属性添加为标头。
Message Header Encoding:对于作为消息标头添加的任何属性,通过 <Attributes to Send as Headers> 属性配置,此属性指示用于序列化标头的字符编码。
Kafka Key:消息的密钥。如果未指定,则如果存在流文件属性 'kafka.key',则将其用作消息密钥。请注意,同时设置 Kafka 密钥和分隔符可能会导致具有相同密钥的许多 Kafka 消息。通常情况下,这不是问题,因为 Kafka 不强制执行或假设消息和密钥的唯一性。但是,同时设置分隔符和 Kafka 密钥可能会导致 Kafka 上的数据丢失风险。在 Kafka 上进行主题压缩期间,将根据此密钥对消息进行去重。
Key Attribute Encoding:发出的FlowFiles具有一个名为'kafka.key'的属性。此属性规定了该属性值应如何编码。这是使用默认值。
Message Demarcator:指定用于在单个FlowFile中分隔多个消息的字符串(解释为UTF-8)。如果未指定,则将整个FlowFile内容用作单个消息。如果指定了分隔符,则将FlowFile内容拆分为此分隔符,并将每个部分作为单独的Kafka消息发送。要输入特殊字符,如'换行符',请使用CTRL+Enter或Shift+Enter,取决于您的操作系统。
Max Request Size:请求的最大大小,以字节为单位。对应于Kafka的'max.request.size'属性,默认为1 MB(1048576字节)。
Acknowledgment Wait Time:发送消息到Kafka后,这指示我们愿意等待从Kafka收到响应的时间量。如果Kafka在此时间段内未确认消息,FlowFile将被路由到'failure'。
Max Metadata Wait Time:发布者在执行“发送”调用期间等待获取元数据或等待缓冲区在“发送”调用之前刷新的时间量,超过此时间将导致整个“发送”调用失败。对应于Kafka的'max.block.ms'属性。
Partitioner class:指定用于计算消息分区ID的类。对应于Kafka的'partitioner.class'属性。
Partition:指定哪些分区记录将会发送消息。
Compression Type:这个参数允许你为此生产者生成的所有数据指定压缩编解码器。
动态属性:如kafka用户名和密码:Username、Password。
4、运行nifi flow,通过kafka-ui 查看kafka中的数据,如下图所示:


ETL工具-nifi干货系列 第十四讲 nifi处理器PublishKafka实战教程的更多相关文章
- Spring Boot干货系列:(四)Thymeleaf篇
Spring Boot干货系列:(四)Thymeleaf篇 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boo ...
- Chrome浏览器扩展开发系列之十四
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59 阅读:1361 评论:0 收藏:0 ...
- OSGi 系列(十四)之 Event Admin Service
OSGi 系列(十四)之 Event Admin Service OSGi 的 Event Admin 服务规范提供了开发者基于发布/订阅模型,通过事件机制实现 Bundle 间协作的标准通讯方式. ...
- Java 设计模式系列(十四)命令模式(Command)
Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复 ...
- Chrome浏览器扩展开发系列之十四:本地消息机制Native messagin
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报 分类: PPAPI(27) 通过将浏览器 ...
- 高翔《视觉SLAM十四讲》从理论到实践
目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Ei ...
- 逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式
逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式 一丶了解什么是结构体,以及计算结构体成员的对其值以及总大小(类也是这样算) 结构体的特性 1.结构体(struct)是由一系列具有相同类型或不 ...
- 视觉slam学习之路(一)看高翔十四讲所遇到的问题
目前实验室做机器人,主要分三个方向,定位导航,建图,图像识别,之前做的也是做了下Qt上位机,后面又弄红外识别,因为这学期上课也没怎么花时间在项目,然后导师让我们确定一个方向来,便于以后发论文什么. ...
- 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM
下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P2 ...
- 高博-《视觉SLAM十四讲》
0 讲座 (1)SLAM定义 对比雷达传感器和视觉传感器的优缺点(主要介绍视觉SLAM) 单目:不知道尺度信息 双目:知道尺度信息,但测量范围根据预定的基线相关 RGBD:知道深度信息,但是深度信息对 ...
随机推荐
- SKG 渠道中台借助 SAE + 大禹打造云原生 DevOPS,提效 60%
简介: 新零售标杆 SKG 全面拥抱 Serverless,敏捷交付! 作者:陈列昂(SKG).昕辰.龙琛.黛忻 项目背景 未来穿戴健康科技股份有限公司(SKG)是一家专注为个人与家庭提供智能可穿戴健 ...
- 谈谈C++新标准带来的属性(Attribute)
简介: 从C++11开始,标准引入了一个新概念"属性(attribute)",本文将简单介绍一下目前在C++标准中已经添加的各个属性以及常用属性的具体应用. 作者 | 寒冬来源 | ...
- 基于Delta lake、Hudi格式的湖仓一体方案
简介: Delta Lake 和 Hudi 是流行的开放格式的存储层,为数据湖同时提供流式和批处理的操作,这允许我们在数据湖上直接运行 BI 等应用,让数据分析师可以即时查询新的实时数据,从而对您的 ...
- WPF 项目文件不加 -windows 的引用 WPF 框架方式
默认情况下的 WPF 项目都是带 -windows 的 TargetFramework 方式,但有一些项目是不期望加上 -windows 做平台限制的,本文将介绍如何实现不添加 -windows 而引 ...
- 2018-2-13-win10-uwp-右击选择-GridViewItem-
title author date CreateTime categories win10 uwp 右击选择 GridViewItem lindexi 2018-2-13 17:23:3 +0800 ...
- vue点击旋转,再点击复原
效果: 1.html.通过绑定t值控制不同的class名, 原图是右边方向的箭头 <img class="right" v-if="item.t" src ...
- 一键入门到精通:sd-webui-prompt-all-in-one 项目大揭秘!
今天向大家推荐一个宝藏项目.在创意无限的AI艺术生成世界中,sd-webui-prompt-all-in-one 项目如一股清流,为广大创作者和开发者带来了前所未有的便捷和灵感.这不仅仅是一个项目,它 ...
- Solution Set - 线段树
A[洛谷P5787]无向图,每条边有一个出现时段,求每个单位时段图是否是二分图. B[洛谷P5227]无向图,询问删除一个边集后是否连通. C[洛谷P3733]连通无向图,边有权,加边.修改(增加的边 ...
- TCP协议分析工具TcpEngine V1.2.0使用教程
概述 目前主流的网络数据分析工具主要有两类,一类是http协议分析工具,如fiddler,这类工具擅长对字符串类型协议分析:另一类是原始网络数据包的监听分析,如Wireshark,这类工具擅长分析网络 ...
- C语言:输出大写的三角形字母表(进阶)
//该程序只支持输入大写字母,输入G,就输出A~G的三角形字母表 /* 从A到Z的输出数量应该是1 3 5 7 9..... */ 利用这个特性,对空格和字母进行输出 A字母在 ...