1、上一节课我们学习了处理器PushKafka,通过该处理器往kafka中间件写数据,今天我们一起学习处理器ConsumeKafka,此处理器从kafka读取数据进行后续处理,如下图所示:

本次示例比较简单:处理器ConsumeKafka 根据topic读取kafka中的数据,然后将数据传递给LogMessage处理器。

2、处理器ConsumeKafka属性配置,如下图所示:

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 主题的名称,多个主题的话逗号分隔,如xiaojingang,dajingang

Topic Name Format:指定要拉取数据的 Kafka 主题的名称。如果有多个主题,可以使用逗号分隔;如果是单个正则表达式,则指定是否提供的主题名称为逗号分隔列表或单个正则表达式。

Honor Transactions:指定 NiFi 是否应在与 Kafka 通信时遵守事务性保证。如果设置为 false,处理器将使用“隔离级别”为 read_uncommitted。这意味着消息将在写入 Kafka 后立即接收,但即使生产者取消事务,也会被拉取。如果此值设置为 true,则 NiFi 将不会接收任何生产者事务被取消的消息,但这可能会导致一些延迟,因为消费者必须等待生产者完成整个事务,而不是在消息可用时立即拉取。

Group ID:一个群组 ID 用于标识属于同一消费者组的消费者。

Offset Reset: Kafka 初始偏移量设置,有earliest 、latest 、none 三个选项。

Key Attribute Encoding:发出的FlowFiles具有一个名为'kafka.key'的属性。此属性规定了该属性值应如何编码。这是使用默认值。

Message Demarcator:指定用于在单个FlowFile中分隔多个消息的字符串(解释为UTF-8)。如果未指定,则将整个FlowFile内容用作单个消息。如果指定了分隔符,则将FlowFile内容拆分为此分隔符,并将每个部分作为单独的Kafka消息发送。要输入特殊字符,如'换行符',请使用CTRL+Enter或Shift+Enter,取决于您的操作系统。

Separate By Key:如果设置为 true,并且设置了 <Message Demarcator> 属性,则仅当两个 Kafka 消息具有相同的键时,才会将两个消息添加到同一个 FlowFile 中。

Message Header Encoding:发现在 Kafka 消息上的任何消息头都将作为属性添加到出站 FlowFile 中。此属性指示用于反序列化头的字符编码。

Headers to Add as Attributes (Regex):正则表达式将与所有消息头进行匹配。任何名称与正则表达式匹配的消息头都将作为属性添加到 FlowFile 中。如果未指定,则不会将头值添加为 FlowFile 属性。如果两条消息具有相同标题的不同值,并且该标题由提供的正则表达式选择,则这两条消息必须添加到不同的 FlowFiles 中。因此,如果消息预期具有每个消息唯一的标题值(例如标识符或时间戳),用户在使用类似于 ".*" 的正则表达式时应谨慎,因为它将阻止 NiFi 将消息有效地捆绑在一起。

Max Poll Records:指定 Kafka 在单次轮询中应返回的最大记录数。

Max Uncommitted Time:指定允许的最长时间,直到必须提交偏移量。该值影响偏移量提交的频率。较少频繁地提交偏移量会增加吞吐量,但也会增加在重新平衡或在提交之间的 JVM 重启时潜在数据重复的窗口。此值还与最大轮询记录和使用消息分隔符相关。当使用消息分隔符时,我们可以有远比不使用时更多的未提交消息,因为我们在内存中要跟踪的内容要少得多。

Communications Timeout:指定消费者与 Kafka Broker 通信时应使用的超时时间。

3、运行nifi flow,查看ConsumeKafka处理器的溯源信息,如下图所示:

点击view按钮查看数据,如下图所示:

ETL工具-nifi干货系列 第十五讲 nifi处理器ConsumeKafka实战教程的更多相关文章

  1. Spring Boot干货系列:(十二)Spring Boot使用单元测试(转)

    前言这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求 Service层单元测试 Controller层单元测试 新断言assertThat使用 单元 ...

  2. 开源ETL工具kettle系列之常见问题

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  3. 数据仓库系列之ETL过程和ETL工具

    上周因为在处理很多数据源集成的事情一直没有更新系列文章,在这周后开始规律更新.在维度建模中我们已经了解数据仓库中的维度建模方法以及基本要素,在这篇文章中我们将学习了解数据仓库的ETL过程以及实用的ET ...

  4. etl学习系列1——etl工具安装

    ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可 ...

  5. ETL工具的功能和kettle如何来提供这些功能

    不多说,直接上干货! 大家会有一个疑惑,本系列博客是Kettle,那怎么扯上ETL呢? Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了 ...

  6. Web 开发人员和设计师必读文章推荐【系列三十】

    <Web 前端开发精华文章推荐>2014年第9期(总第30期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  7. Web 开发人员和设计师必读文章推荐【系列二十九】

    <Web 前端开发精华文章推荐>2014年第8期(总第29期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  8. 【转】ETL介绍与ETL工具比较

    本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...

  9. Web 前端开发人员和设计师必读文章推荐【系列二十八】

    <Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  10. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

随机推荐

  1. Linux下的常见基本指令

    pwd //显示当前用户所在的路径 ls //显示当前路径下的文件名或者目录名称 ls-l //显示当前路径下的文件或者目录的更详细的属性信息 cd 一个目录路径 //进入一个目录,进去后,可以用pw ...

  2. mysql入门操作(部分操作,不为完全格式)

    查询数据库在电脑中绝对路径: show variables like '%datadir%'; 设置字符集 set names gbk; 导入数据库 source 绝对路径 eg: source D: ...

  3. Java实现控制台购书系统

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 im ...

  4. watch对比computed

    总结:      computed和watch之间的区别:             1.computed能完成的功能,Watch都可以实现             2.watch能完成的功能,comp ...

  5. 力扣523(java&python)-连续的子数组和(中等)

    题目: 给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数.如果存在,返回 true ...

  6. 龙蜥利器:系统运维工具 SysAK的云上应用性能诊断 | 龙蜥技术

    ​简介:本文从大量的性能诊断实践出发,来介绍 SysAK 在性能诊断上的方法论及相关工具. ​ 文/张毅:系统运维SIG核心成员.SysAK 项目负责人:毛文安:系统运维 SIG 负责人. 系统运维既 ...

  7. MYSQL深潜 - 剖析Performance Schema内存管理

    ​简介: 本文主要是通过对PFS引擎的内存管理的源码的阅读,解读PFS内存分配及释放原理,深入剖析其中存在的一些问题,以及一些改进思路.本文源代码分析基于Mysql-8.0.24版本. ​ 作者 | ...

  8. [FAQ] uni-app 运行微信小程序 main.wxss 报错 unexpected token "$"

    检查一下你是否在 App.vue 中有手动操作引入过 uni.scss,比如下面的 import: <style lang="scss"> @import url(&q ...

  9. [FE] Quasar BEX 预览版指南

    BEX(Browser Extension)是 Quasar 基于同一套代码允许编译成浏览器扩展来运行,支持 Firefox & Chrome. 截止目前(2019/12/25), bex 模 ...

  10. C语言笔记001-用C语言编写程序

    例2-1  在屏幕上显示一个短句"Hello World!". #include <stdio.h> int main(void) { printf("hel ...