https://blog.csdn.net/weixin_39657249/article/details/111759930
总结
WaterMark 到达之前,窗口在攒数据,不会触发计算。
WaterMark 等于 windowEndTime 时,第一次触发窗口计算。
WaterMark 到达之后,allowlateness之前,如果来了数据,每条数据都会触发窗口计算。
超过了allowlateness之后到达的迟到数据会丢弃。
水印用于解决乱序问题保证数据的完整性。而之所以有allowlateness的出现是因为如果WaterMark 加大会导致窗口计算延迟。WaterMark 设定的时间,是第一次触发窗口计算的时间。allowlateness 表示,WaterMark 触发窗口计算以后,还可以再等多久的迟到数据,每次符合条件的数据到达都会再次触发一次窗口计算。allowlateness 是在 Watermark 基础上再做了一层迟到数据的保证。
1、窗口边界水印+水印延迟时间,触发一次计算
2、窗口+窗口延迟时间,触发更新一次计算
(0,5]窗口
水印延迟时间2s,(0,7]触发
窗口延迟时间2s,(0,9]触发更新
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)