apache-kafka - 使用 ConsumeKafka (NIFI) 读取 Avro Buffer 编码的消息
问题描述
我是 NIFI 新手(对 Kafka 没有太多经验),我正在尝试使用生产者生成的消息。为了完成这项工作,我在 NIFI 上使用了 ConsumeKafka 处理器。
消息正在到达(我可以在队列中看到它们),但是当我检查队列并尝试查看消息时,我只能看到十六进制格式的内容(fe:在原始格式中我可以看到一条消息说:没有为此内容类型注册查看器)。
生产者发送的消息是编码的avro缓冲区(这是我采取的参考:https ://blog.mimacom.com/apache-kafka-with-node-js/ )当我从控制台检查消费者时,每条消息都具有以下格式:
02018-09-21T08:37:44.587Z @02018-09-21T08:37:44.587Z @
我读过处理器 UpdateRecord 可以帮助将十六进制代码更改为纯文本,但我无法实现。
如何配置此 UpdateRecord 处理器?
雪儿
解决方案
- 而不是
ConsumeKafka
,最好使用ConsumeKafkaRecord
适合您正在使用的 Kafka 版本的处理器,并使用Record Reader
和AvroReader
设置Record Writer
为您选择的编写器进行配置。 - 完成后,您必须
AvroReader
使用 Schema 注册表配置控制器服务。您可以使用AvroSchemaRegistry
为您在 Kafka 中接收的 Avro 消息指定架构的位置。
快速浏览本教程将帮助您实现您想要的:https ://bryanbende.com/development/2017/06/20/apache-nifi-records-and-schema-registries
推荐阅读
- c# - 移动 PictureBox BackgroundImage 丢弃透明度
- excel - 将打开文件的人的用户名插入超链接
- asp.net - 将客户端 Blazor 添加到现有 ASP.NET MVC5 应用
- performance - 即使在安装了 Jmeter 安全证书后也有证书问题
- html - 纯 CSS 解决方案,用于在其父级之间存在悬停间隙时保持子级显示
- php - Laravel 获取关系返回错误数据
- dictionary - 当我尝试从 @agm/core/services/google-maps-types 导入 {google} 时出现此错误
- python - 从嵌套字典中递归删除 None 值或 None 键
- c# - 如何在将文本添加到 Xamarin 表单中的条目之前加载视图
- wordpress - FacetWP 地图更改地图标记基于方面选择