我不熟悉NIFI(对Kafka经验不足),并且尝试使用生产者正在生成的消息。为此,我在NIFI上使用ConsumeKafka处理器。
消息到达(我可以在队列中看到它们),但是当我检查队列并尝试查看消息时,我只能看到具有十六进制格式的内容(例如:以原始格式,我可以看到一个消息:没有为此内容类型注册查看器。
生产者发送的消息是经过编码的avro缓冲区(这是我采用的参考:https://blog.mimacom.com/apache-kafka-with-node-js/),当我从控制台检查使用者时,每条消息都具有以下格式:
02018-09-21T08:37:44.587Z @02018-09-21T08:37:44.587Z @
我已经阅读到处理器UpdateRecord可以帮助将十六进制代码更改为纯文本,但是我无法实现。
如何配置此UpdateRecord处理器?
Chears
答案 0 :(得分:4)
ConsumeKafka
处理器,而不是ConsumeKafkaRecord
并为Record Reader
配置AvroReader
并设置{{1 }}交给您选择的作者。Record Writer
控制器服务。您可以使用AvroReader
来指定在Kafka中接收的Avro消息的模式。快速浏览本教程可以帮助您实现所需的目标:https://bryanbende.com/development/2017/06/20/apache-nifi-records-and-schema-registries