【发布时间】:2016-12-01 18:44:15
【问题描述】:
我有一个 Kafka 流,它从一个主题获取数据,并且需要将该信息过滤到两个不同的主题。
KStream<String, Model> stream = builder.stream(Serdes.String(), specificAvroSerde, "not-filtered-topic");
stream.filter((key, value) -> new Processor().test(key, value)).to(Serdes.String(), specificAvroSerde, "good-topic");
stream.filterNot((key, value) -> new Processor().test(key, value)).to(Serdes.String(), specificAvroSerde, "bad-topic");
但是,当我这样做时,它会从主题中读取数据两次——不确定随着数据变大是否会对性能产生任何影响。有没有办法只过滤一次并将其推送到两个主题?
【问题讨论】:
标签: java apache-kafka apache-kafka-streams