Kafka Streams DSL重试逻辑(将记录写回到主题)

时间:2019-02-22 12:20:07

标签: apache-kafka-streams

当执行KStream-KTable左联接时,如果右表不匹配,我想将记录发送回同一主题,X秒钟后。

使用DSL可以实现吗?

1 个答案:

答案 0 :(得分:2)

我想你可以

KStream[] streams = stream.leftJoin(table,...).branch(...);
stream[1].transform(...).to("input-topic");

您使用分支将合并的记录放入第一个流,将未合并的记录放入第二个流。第二个流被传送到transform()中,该状态流使用状态存储来缓冲这些记录,您可以使用context.forward()发送punctuations并延迟5秒。