【问题标题】:Is it possible for a Kafka stream to write output to two different topics?Kafka 流是否可以将输出写入两个不同的主题?
【发布时间】:2018-08-10 00:32:04
【问题描述】:

我需要一个流来对来自主题 A 的值进行分组,将分组值发送到主题 B,然后在翻滚时间窗口内将这些分组值的总和发送到主题 C。 卡夫卡可以做到吗?还是只能从一个主题读取和写入流?

【问题讨论】:

  • 您是否多次尝试使用to 方法?发生了什么?

标签: apache-kafka apache-kafka-streams


【解决方案1】:

是的。例如,您可以拆分输入流并写入不同的主题:

KStream stream = ...
KStream[] splitStream = stream.branch(...);

splitStream[0].to("topic-1");
splitStream[1].to("topic-2");

您还可以通过to(TopicNameExtractor) 使用更动态的方法。

您还可以“广播”流以应用不同的逻辑。重复使用相同的KStream 变量可确保通过多个并行下游操作在逻辑上复制和处理每条记录:

KStream stream = ...

KStream filterdStream = stream.filter();
KTable count = stream.groupBy().count();

【讨论】:

  • 你好,你有一些使用 to(TopicNameExtractor) 的例子吗?
  • 这篇博文可能会有所帮助:confluent.io/blog/…
猜你喜欢
  • 1970-01-01
  • 2018-12-10
  • 2020-11-05
  • 1970-01-01
  • 2022-10-26
  • 2014-03-13
  • 2019-04-23
  • 2020-12-10
  • 1970-01-01
相关资源
最近更新 更多