1.视界
2.概述
当指定一个允许延迟大于0时,window
以及window
中的内容将会继续保持即使水印已经达到了window
的最后时间。在这种情况下,当一个延迟事件到来而未丢弃时,它可能会触发window
中的其他触发器。这些触发叫做late firings
,因为它们是由延迟事件触发的,并相对于window
中第一个触发即主触发而言。对于session window
而言,late firing
还会进一步导致window
的合并,因为它们桥接了两个之前存在差距,而未合并的window
。
Flink中借助watermark以及window和trigger来处理基于event time的乱序问题,那么如何处理late element
呢?
也许有人会问,out-of-order element与late element
有什么区别?不都是一回事么?
答案是一回事,都是为了处理乱序问题而产生的概念。要说区别,可以总结如下:
-
通过watermark机制来处理out-of-order的问题,属于第一层防护,属于全局性的防护,通常说的乱序问题的解决办法,就是指这类;
-
通过窗口上的allowedLateness机制来