如何加入两个 Kafka 流,每个流都有多个分区?

How to join two Kafka streams, each having multiple paritions?

我有两个 Kafka 流,requestevent 每个都根据公共字段 requestId(最后两位数字)进行分区。我想加入这两个流并写入 HDFS 或本地 filesystem?如何编写一个高效的 consumer,它在加入两个 streams 时只考虑相关的 partitions

你应该使用 Kafka's Streams API,Apache Kafka 的流处理库,而不是手写的消费者。要将数据写入 HDFS,您应该使用 Kafka Connect。

要进行连接,请看这个问题:

另请查看 Confluent 关于 Kafka Streams and Kafka Connect 的文档以开始使用。如果您有进一步的问题,请开始跟进问题(阅读手册后:))

使用 Kafka Connect(用于 HDFS)的 Kafka 流是一个简单的解决方案。但是,必须指出的是,用于 Kafka Connect 的 HDFS 连接器仅适用于 Confluent 版本的 Kafka。 Apache Kafka Connect 仅附带一个文件写入器,而不是 HDFS 写入器。