如何使用Kafka Stream滑动窗口动态地包含足够的数据点

时间:2019-06-13 23:11:19

标签: apache-kafka apache-kafka-streams

我是Kafka的新手,正在蒸饭。在某些情况下,我认为Kafka Streams滑动窗口可能会有所帮助,但找不到任何文档或示例来说明如何操作。

我想做什么:

对于来自Kafka主题的每条新消息,我希望汇总最近一小时内的所有相关消息,并且如果最近一小时内少于x条消息,我想查找在较早时间窗口内发生的相关事件。

例如,新消息的值类似{'id':123,'timestamp':'2019-06-13 20:00:00',其他键:other value}。我想查找保留在kafka中的所有消息,它们的值均为{'id':123,'timestamp':}。

我遇到的问题。

如果在过去一小时内没有消息或仅发送了几条消息,我想在较早的时间窗口中搜索消息,直到找到x条消息或直到最早的时间戳达到固定的日期时间为止。

在python中,我可以使用一些重复或搜索的方式来回顾历史数据集,但是我不知道如何在Kafka流式传输中做到这一点。

有人可以给些提示吗?谢谢。

1 个答案:

答案 0 :(得分:0)

@ pat @ matthias建议的

@Lena我将使用处理器API来处理此逻辑。您应该能够构建和操纵自己的状态存储。