如何确保Kafka流正在汇总当天的数据

时间:2019-11-13 16:20:14

标签: apache-kafka stream apache-kafka-streams

我有一个streams应用程序,用于计算传入交易的高/低/交易量。 我有一个包含交易信息的输入主题。没有与这些消息关联的时间戳。 我从输入流中创建一个KGroupedStream,并按股票代码将其分组作为键

然后我从KGroupedStream创建一个KTable。我汇总数据并计算高/低/容量,并创建一个名为HiLowMessage的新消息,并将其流式传输到我的输出流中。

由于输入主题始终具有数据。如何确保仅对TODAY的数据进行汇总,而不包括昨天的数据?请注意,输入主题消息结构中没有时间戳。

1 个答案:

答案 0 :(得分:2)

每条Kafka消息的元数据字段中确实有一个时间戳(即,除了键和值之外)。此时间戳通常由将数据写入主题的上游生产者设置。默认情况下,该记录元数据时间戳记在Kafka Streams中使用。因此,您可以通过跳1天TimeWindow来进行窗口汇总。