如何将Kafka KStream加入3个主题的Kstream

时间:2018-03-21 11:36:50

标签: join apache-kafka apache-kafka-streams

我有3个主题:" BEGIN"," CONTINUE"和"结束" 这三个主题需要在一个主题消息中加入,我可以获得结果模型,该结果模型是3个主题消息的组合。

有许多示例显示如何加入2个主题。 如果有人能给我一个例子或暗示如何进行加入或这3个主题。

2 个答案:

答案 0 :(得分:1)

cogroup feature实施之前,您需要先将前两个主题合并到一个中介主题中,然后将该主题与第三个主题相结合。

有关如何执行此操作的示例,请参阅the cogroup KIP

答案 1 :(得分:0)

我取决于你想要做什么样的联接。如你所说,你有KStream,你会做两个连续的窗口连接:

KStream stream1 = builder.stream(...);
KStream stream2 = builder.stream(...);
KStream stream3 = builder.stream(...);

KStream joined = stream1.join(stream2, ...)
                        .join(stream3, ...);