使用consumekafka(nifi)读取avro缓冲区编码的消息

fykwrbwg  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(493)

我是nifi的新手(对Kafka也没有太多的经验),我正在尝试使用制作人产生的信息。为了完成这项工作,我在nifi上使用consumerkafka处理器。
消息正在到达(我可以在队列中看到它们),但是当我检查队列并尝试查看消息时,我只能看到十六进制格式的内容(例如:在原始格式中,我可以看到一条消息:没有为此内容类型注册查看器)。
生产者正在发送的消息是经过编码的avro缓冲区(这是我的参考:https://blog.mimacom.com/apache-kafka-with-node-js/)当我从控制台检查消费者时,每条消息都有以下格式:

02018-09-21T08:37:44.587Z      @02018-09-21T08:37:44.587Z      @

我已经读到处理器更新记录可以帮助将十六进制代码更改为纯文本,但我不能做到这一点。
如何配置此updaterecord处理器?
棋子

polkgigr

polkgigr1#

而不是 ConsumeKafka ,最好使用 ConsumeKafkaRecord 适用于您正在使用和配置的Kafka版本的处理器 Record Reader 带着一个 AvroReader 并设置 Record Writer 给你选择的作家。
完成后,您必须配置 AvroReader 具有架构注册表的控制器服务。你可以用 AvroSchemaRegistry 在这里,您可以指定您在kafka中接收的avro消息的模式。
快速浏览本教程将帮助您实现您想要的:https://bryanbende.com/development/2017/06/20/apache-nifi-records-and-schema-registries

相关问题