【发布时间】:2022-02-16 01:16:19
【问题描述】:
我创建了一个管道来处理单个 json 文件(一个包含 5890 个元素的向量,每个元素一个记录)并通过 Kafka 以 avro 格式发送它。生产者工作正常,然后当我与消费者一起阅读时,每条记录都会得到一个流文件(一个 avro 文件)。 5890 个 avro 文件。如何在单个 avro 文件中设置或合并更多记录?
我只是使用 PublishKafkaRecord_0_10 1.5.0(jsonTreeReader 1.5.0 和 AvroRecordSetWriter 1.5.0)和 ConsumeKafka_0_10 1.5.0。
【问题讨论】:
-
我推荐你试试 ConsumeKafkaRecord 和 AvroReader (nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/…)
-
不错。问:avro文件的数量是生产者设置的吗?我的意思是,如果消费者不是 nifi 处理器(可能是 Java 应用程序),那么另一边的人是否必须处理那些 5890 avro 文件?
-
我不太明白您要解决的问题。 Kafka 不应该用于文件传输;让每条 Kafka 消息成为一个 Avro 事件有什么问题?
-
我一直负责这个,我也不明白。我不确定接收者是不是技术熟练的人,我想看看是否有办法将记录放在生产者已经在较少的 avro 文件中。
标签: json apache-kafka apache-nifi avro