使用 ConsumeKafka (NIFI) 读取 Avro Buffer 编码的消息

Read Avro Buffer encoded messages with ConsumeKafka (NIFI)

我是 NIFI 的新手(对 Kafka 的经验不多),我正在尝试使用生产者生成的消息。为了完成这项工作,我在 NIFI 上使用了 ConsumeKafka 处理器。

消息正在到达(我可以在队列中看到它们),但是当我检查队列并尝试查看消息时,我只能看到十六进制格式的内容(f.e:在原始格式 我可以看到一条消息:没有观众注册此内容类型)。

生产者发送的消息是经过编码的 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,最好使用适合您正在使用的 Kafka 版本的 ConsumeKafkaRecord 处理器,并使用 AvroReader 配置 Record Reader 并设置 Record Writer 给您选择的作家。
  • 完成后,您必须使用 Schema 注册表配置 AvroReader 控制器服务。您可以使用 AvroSchemaRegistry 指定您在 Kafka 中接收的 Avro 消息的架构。

快速浏览一下本教程将帮助您实现您的目标:https://bryanbende.com/development/2017/06/20/apache-nifi-records-and-schema-registries