说明
该模式下两个窗口之间有一个间隙,称为 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
