首页 > 解决方案 > Flink 中固定时间的会话窗口

问题描述

我有一个用例,我不希望每个键的窗口随着每个元素而不断增长。要求是每个键都有一个新窗口,该窗口从第一个元素开始,正好在 1 分钟后结束。

标签: apache-flinkflink-streaming

解决方案


我假设您的意图是收集在第一个事件发生后一分钟内到达相同键的所有事件,然后在该分钟结束时产生一些结果。

这可以用一个非常简单的方式来实现KeyedProcessFunction。您可以维护ListState每个键,并将到达的记录附加到列表中。您可以使用计时器来触发您的窗口结束逻辑。

有关更多信息,请参阅Flink 文档中有关流程功能的教程。


推荐阅读