区分理解Flink水印延迟与窗口允许延迟的概念

区分理解Flink水印延迟与窗口允许延迟的概念,第1张

区分理解Flink水印延迟与窗口允许延迟的概念

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]触发更新

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5606251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存