真传一句话,假言万卷书。
Flink使用窗口与水印处理乱序问题,使用Latenss处理延迟问题,二者混合使用可以满足很多复杂场景的需求
当Watermark大于窗口结束时间时,会触发窗口内的元素进行计算并缓存起来,随着Watermark增长,在Watermark <窗口结束时间 + Lateness时,仍会继续等待窗口内的元素参与窗口计算,计算时要注意状态值的重复,直到Watermark >窗口结束时间 + Lateness时清空缓存
简单地说就是,当Watermark在红色区域时,窗口内的元素会计算