Flink-Watermark
一.简介
watermark是一种衡量Event Time进展的机制,它是数据本身的一种隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp.watermark用来处理乱序事件,而正确的处理乱序事件,通常用watermark机制结合window来实现(https://blog.csdn.net/qq_19968255/article/details/108911958)。
流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间,虽然大部分情况下,流到operator的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络、背压(短时负载高峰导致系统接收数据的速率远高于它处理数据的速率)等原因,导致乱序的产生(out-of-order或者说late element)。
但是对于late element,我们又不能无限期的等下去,必须要有个机制来保证一个特定的时间后,必须触发window去进行计算了。此时就是watermark发挥作用了,它表示当达到watermark到达之后,在watermark之前的数据已经全部达到(即使后面还有延迟的数据)。

浙公网安备 33010602011771号