Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring和Kafka:加入3个Kafka主题以生成输出Kafka流_Java_Apache Kafka_Apache Kafka Streams_Spring Kafka - Fatal编程技术网

Java Spring和Kafka:加入3个Kafka主题以生成输出Kafka流

Java Spring和Kafka:加入3个Kafka主题以生成输出Kafka流,java,apache-kafka,apache-kafka-streams,spring-kafka,Java,Apache Kafka,Apache Kafka Streams,Spring Kafka,我需要加入3个卡夫卡主题。前两个主题A和B将使用内部连接添加,因为消息键相同,并生成一个新的Kafka流,其中POJO与B相同。现在使用此累积流,我需要连接另一个主题C,并且需要根据C中的字段对输出进行分组 到目前为止,我有以下方法: KStream-前两个主题(A和B)的KStream内部联接 是否有可能不发布任何主题的累积输出,并且仍然能够在下面使用它 KStream-KStream(在累积流和主题C之上) 请您推荐一种更好的方法或任何我可以在java中看到的类似实现的示例。您可以使用两个连

我需要加入3个卡夫卡主题。前两个主题A和B将使用内部连接添加,因为消息键相同,并生成一个新的Kafka流,其中POJO与B相同。现在使用此累积流,我需要连接另一个主题C,并且需要根据C中的字段对输出进行分组

到目前为止,我有以下方法:

KStream-前两个主题(A和B)的KStream内部联接 是否有可能不发布任何主题的累积输出,并且仍然能够在下面使用它

KStream-KStream(在累积流和主题C之上)


请您推荐一种更好的方法或任何我可以在java中看到的类似实现的示例。

您可以使用两个连续联接:

KStream streamAB=streamA.join(streamB,…);
//要么:
KStream streamABC=streamA.selectKey(…)//设置为streamC中的键
.加入(streamC,…);
//或:
KStream streamCNew=streamC.selectKey(…);//设置为streamAB中的键
KStream streamABC=streamA.join(streamCnew,…);
//或:
KStream streamCNew=streamC.selectKey(…);//设置为新的联接键
KStream streamABC=streamA.selectKey(…)//设置为新的联接键
.加入(streamC,…);
streamABC.selectKey(/*提取分组字段并设置为key*/).to(“outputTopic”);

谢谢@Matthias。我对卡夫卡流很陌生,请你详细说明解决方案。如果可能的话,你能给我举几个例子吗。