Flink 轻松理解 Watermark

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink 轻松理解 Watermark相关的知识,希望对你有一定的参考价值。

传送门:Flink 系统性学习笔记


当我们第一次使用 Flink 时,可能会对 Watermark 感到困惑,其实 Watermark 并不复杂。让我们通过一个简单的例子来说明为什么我们需要 Watermark,以及它是如何工作的。

在下文中的例子中,我们有一个带有时间戳的事件流,这些事件并不是按顺序到达的。图中的数字表示事件发生的时间戳。第一个事件在时间 4 到达,后面跟着一个发生更早时间的事件(时间 2),以此类推:

注意这是一个基于事件时间处理的例子,这意味着时间戳反映的是事件发生的时间,而不是事件处理的时间。基于事件时间处理的强大之处在于创建流处理程序无论是处理实时的数据还是重新处理历史的数据,都能保证结果的一致。

关于不同概念时间(例如事件时间,处理时间或摄入时间)的更多信息可以参考Flink 事件时间与处理时间

现在假设我们正在创建一个排序的数据流。这意味着应用程序处理流中的乱序到达的事件,并生成同样事件但按时间戳(事件时间)排序

以上是关于Flink 轻松理解 Watermark的主要内容,如果未能解决你的问题,请参考以下文章

flink窗口与水位线watermark例子

Flink Watermark 机制

Flink Watermark 机制

1分钟理解Flink中Watermark机制

flink学习day04:对Event Time 与 Watermark的理解

Flink水印机制(watermark)