flink1.12.x session会话窗口

说明

该模式下两个窗口之间有一个间隙,称为 Session Gap。当一个窗口 Session Gap 时间内没有收到数据,则窗口关闭,触发计算。

如下图:

缺点

在 flink 应用场景中,由于数据是源源不断的,Session Window 受此影响,窗口的大小、窗口的起止时间都是不确定的,可能很难触发计算,所以使用较少

代码

可以通过如下代码设置 Session Window:

ProcessingTimeSessionWindows.withGap(Time.minutes(10))

也可以调用 .withDynamicGap 和 SessionWindowTimeGapExtractor 设置动态的 Session Gap

参考

https://blog.csdn.net/BIT_666/article/details/124723169


原文出处:/show_1IX20QjDOf3f.html