flink session window窗口的条件是元素间隔大于gap 还是 大于等于gap?session window是怎么进行合并的?还是通过官方示例:org.apache.flink.streaming.examples.windowing.SessionWindowing 进行分析:
主要是修改了下数据源,首先添加8这条数据执行结果如下:
从结果可以看出 b 都在同一个窗口计算。再将8改成9 执行结果如下:
从结果可以看出(b,9,1) 跟其它key为b的属于不同窗口计算。9-5>3,大于grap会生成不同窗口。具体逻辑可以从源码看出,flink session window 窗口操作的逻辑主要在WindowOperator类中:
session window