使用 Kafka Stream 按时间戳聚合事件

问题描述 投票:0回答:1

我有两个包含一些指标事件的主题。每个指标都是在特定时间戳生成的。我需要合并一些指标;唯一的共同键是时间戳。

我创建了两个

KStream
TimestampExtractor
来提取指标时间戳。

我需要加入这两个流来创建一个新事件,其中包含具有相同时间戳的所有指标,但不知道如何使用 Kafka Stream 来做到这一点。

apache-kafka stream apache-kafka-streams
1个回答
0
投票

Kafka Streams 中的连接是基于键的,因此您需要将时间戳设置为记录键。您可以使用

KStream#process(...)
(在旧版本中为
KStream#transform(...)
)来执行此操作,它允许您访问时间戳(在旧版本中,您需要使用
context
中的
init()
对象来访问时间戳)。

将时间戳放入密钥后,可以使用窗口 kstream-kstream 连接来计算最终结果。

© www.soinside.com 2019 - 2024. All rights reserved.