首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解延迟事件与水印的Flink

了解延迟事件与水印的Flink
EN

Stack Overflow用户
提问于 2021-01-31 14:10:44
回答 1查看 380关注 0票数 2

看看这篇文章,它说关于水印

我们现在将水印设置为当前时间--5秒,这告诉Flink期望消息最多为5秒处理这是因为每个窗口只有在水印通过时才会被评估。

在后面的文章中,它解释了当设置允许迟到时:

Flink不会丢弃消息,除非它已经过了window_end_time +允许的延迟

实际上,由于设置了允许延迟,是否导致了窗口的延迟评估?

那么,水印的使用和允许的延迟究竟有什么区别呢?什么时候用哪种?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-31 17:55:28

水印延迟为Flink在第一次触发窗口之前等待无序事件的时间设置了一个下限。

允许的延迟时间决定了Flink在窗口状态下的持续时间。在窗口的状态仍然可用时到达的任何延迟事件都将再次触发窗口,从而产生更新的结果。

一旦允许的延迟过期,窗口的状态就会被清除,任何超晚的事件都会被删除或发送到侧输出。

如果窗口输出的下游用户能够处理这样的窗口结果更新(例如,该窗口连接到一个活动仪表板),那么设置一个相对较短的水印延迟并使用允许的延迟可能是有意义的。另一方面,如果您不能利用初始结果之后的任何信息,您将希望水印延迟足够大,以满足您对准确性/完整性的要求,并将允许延迟设置为零。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65980057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档