Apache Flink:如何处理延迟事件?

3
2个回答

2
默认情况下,当水印超过窗口的末尾时,延迟元素会被丢弃。然而,Flink允许为窗口操作符指定最大允许延迟时间。允许延迟指定元素在被丢弃之前可以晚多少时间到达,其默认值为0。在水印已经通过窗口末尾但在它通过窗口末尾加上允许延迟时间之前到达的元素仍会被添加到窗口中。根据所使用的触发器,一个未被丢弃的延迟元素可能会导致窗口再次触发。这适用于EventTimeTrigger。
为了使这个工作正常,Flink会保留窗口的状态直到它们的允许延迟时间到期。一旦发生这种情况,Flink将删除窗口并删除其状态。
您可以在此处检查生命周期。 https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/windows.html#window-lifecycle

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接