Apache kafka Kafka KStreams中的“for”循环支持

Apache kafka Kafka KStreams中的“for”循环支持,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我需要知道如何在我的kafka KStreams行中使用“for”循环…下面是我的“for”循环,它需要包含在KStreams中 for (int i = 0; i < 6 ; i++) { try { textlines.flatMapValues(value -> Arrays.asList(value.split("\\},\\{"))); Thread.sleep(2000);

我需要知道如何在我的kafka KStreams行中使用“for”循环…下面是我的“for”循环,它需要包含在KStreams中

for (int i = 0; i < 6 ; i++) {
            try {
                textlines.flatMapValues(value -> Arrays.asList(value.split("\\},\\{")));
                Thread.sleep(2000);
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
我的KStreams loooks喜欢

KStream<String, String> textlines = builder.stream("intopic");
KStream<String, String> mstream = textlines
                .mapValues(value -> value.replace("[","" ) )
如何将我的上述“for”循环添加到我的KStreams中

问题是,我已经在'for'循环中使用value.split来分割我的数据…因此,每当我的数据被分割时,它应该休眠大约10毫秒…这是因为我需要我的数据一个接一个地出现

根据你说的,你想要订购。为了实现有序,你不需要睡觉。它会起作用的。Kafka Streams WordCount示例(我假设您的代码基于该示例)的工作方式相同:它还使用flatMapValues,传递到FlatMap的lambda将文本行拆分为单词


除非我和其他人误解了您的问题,在这种情况下,您可能应该进一步澄清您的问题,否则我认为您不必要地使代码复杂化。

此for循环的确切目的是什么?KStream对象只是一种构建拓扑的方法,该拓扑将在.start调用之后在其他线程中运行。在您的代码中,您只是将相同的处理器添加到拓扑中6倍,休眠部分对流执行没有影响,il只会延迟拓扑构建。@nbchn好的……问题是我在“for”循环中使用了value.split来分割我的数据……所以每当我的数据被分割时,它应该休眠大约10毫秒……这是因为我需要我的数据一个接一个地来,如果你需要更多的细节,让我知道你可以看看这个例子…这正是我需要做的…这是相同的答案。只需使用flatMapValues,这将确保数据将逐个出现。