我有两个包含一些指标事件的主题。每个指标都是在特定时间戳生成的。我需要合并一些指标;唯一的共同键是时间戳。
我创建了两个
KStream
和 TimestampExtractor
来提取指标时间戳。
我需要加入这两个流来创建一个新事件,其中包含具有相同时间戳的所有指标,但不知道如何使用 Kafka Stream 来做到这一点。
Kafka Streams 中的连接是基于键的,因此您需要将时间戳设置为记录键。您可以使用
KStream#process(...)
(在旧版本中为 KStream#transform(...)
)来执行此操作,它允许您访问时间戳(在旧版本中,您需要使用 context
中的 init()
对象来访问时间戳)。
将时间戳放入密钥后,可以使用窗口 kstream-kstream 连接来计算最终结果。