【发布时间】:2019-01-04 21:30:27
【问题描述】:
我有一个主要的 Kafka 主题,它接收一些时间序列数据。我需要获取该主题中的每个值,复制它,然后根据其键中的值将其发送到许多单独的主题之一。由于它是时间序列数据,因此每个条目的值都有一个时间戳。我如何才能完成这种拆分,同时确保推送到单独主题中的值不会在时间戳方面出现乱序?
【问题讨论】:
-
你见过这个例子吗? github.com/confluentinc/kafka-streams-examples/blob/4.1.x/src/…因为这是你在做的无状态操作,我觉得很有帮助
-
使用 Kafka Streams,您可以使用
KStream#branch() 到KStream#to和TopicNameExtractor(注意,TopicNameExtractor是最近添加到 Kafka 2.0.0 版本中的,在旧版本中不可用版本)。 -
使用 TopicNameExtractor 的动态主题分支几乎解决了我的问题。我遇到的问题是它需要提取的主题名称不在我正在流式传输的主题中。我有第二个主题用作查找,其中我正在流式传输的主题中的键与查找主题中的键相同。查找主题的值是包含主题名称的内容。处理主题名称在另一个主题中的动态主题分支的最佳方法是什么?
标签: apache-kafka kafka-consumer-api apache-kafka-streams kafka-producer-api