Java 如何使用KStream输出主题中的消息
我正在使用KStream.to(“outputtopic”)编写输出主题; apache文档中提到,它将自动创建传递给to()的主题。如何使用来自该主题的消息 我可以使用consumer.subscribe()来输出和轮询消息吗Java 如何使用KStream输出主题中的消息,java,kafka-consumer-api,apache-kafka-streams,Java,Kafka Consumer Api,Apache Kafka Streams,我正在使用KStream.to(“outputtopic”)编写输出主题; apache文档中提到,它将自动创建传递给to()的主题。如何使用来自该主题的消息 我可以使用consumer.subscribe()来输出和轮询消息吗 KStreamBuilder builder = new KStreamBuilder(); builder.stream(topic).filterNot((k, v) -> { v.toString()
KStreamBuilder builder = new KStreamBuilder();
builder.stream(topic).filterNot((k, v) -> {
v.toString().contains(tid);
}).to("outputtopic");
streams = new KafkaStreams(builder, config);
streams.start();
consumer.subscribe(Arrays.asList("outputtopic"));
builder.stream(主题).filterNot((k,v)->{
v、 toString()包含(tid);
})//即,没有最后一个`to()`方法
这个方法链的结果是一个KStream
。如果您的问题是关于如何从同一应用程序中继续操作此生成的KStream
,请执行以下操作:
KStream myStream=builder.stream(主题).filterNot((k,v)->{
v、 toString()包含(tid);
});
myStream.to(“outputtopic”);
//然后继续使用'myStream'实例进行进一步的工作。
map(…).aggregate(…);
如果您的问题是关于如何从不同的应用程序读取输出主题,那么您可以通过从另一个Kafka Streams应用程序、从KSQL、从普通Kafka使用者(通过订阅)读取此主题来完成,等等。如果我理解正确,您需要继续在流应用程序中使用/处理过滤后的输出主题。在这种情况下,我想您不必将过滤后的流具体化为主题。KStream.filterNot()返回新的KStream,因此您可以继续使用它。
apache文档中提到它将自动创建传递给to()的主题。
--听起来不正确--您有责任创建在to()
中使用的主题。你能指出提到这一点的文档吗,这样我们就可以修复这些文档了?非常感谢。我不想读不同卡夫卡客户的书。因此,我将与myStream合作