正在尝试使用kafka流代码,并希望在拆分数据后添加延迟或类似threads.sleep()1ms ......我很困惑如何做到这一点......有人帮助我做这个?
KStreamBuilder builder = new KStreamBuilder();
KStream<String, String> textlines = builder.stream("INTOPIC");
KStream<String, String> mstream = textlines
.mapValues(value -> value.replace("[",""));
.mapValues(value -> value.replace("]",""));
.mapValues(value -> value.replaceAll("\\},\\{" ,"\\}\\},\\{\\{"))
.flatMapValues(value -> Arrays.asList(value.split("\\},\\{")));
mstream.to("OUTTOPIC");
KafkaStreams streams = new KafkaStreams(builder, config);
streams.start();
所以在.flatmapvalues语句之后我需要添加一个thread.sleep()1ms,那么我的声明是什么呢?
答案 0 :(得分:0)
不确定要实现的目标,但似乎您希望减慢处理速度?你可以把睡眠放入你的使用代码中。为此,lambda表达式必须在返回实际结果之前调用“sleep”。作为替代方案,您还可以添加额外的.foreach()
或peek()
来电并在那里睡觉。