Flink流处理基础之watermark

两个概念

处理时间:流处理算子所在机器的本地时间。
事件时间:数据流中事件发生的实际时间,一般是附加在数据流中事件的时间戳。

watermark -- 事件时间窗口的触发时机

实际生产中,事件不可避免会产生延迟,如何判断某一时间点之前的事件都已接收到,从而触发流处理算子工作?Flink提供了水位线机制,水位线就是告诉Flink,某个时间戳之前的事件都已全部到达。当算子接收到时间为T的水位线,算子就会认为不会再接收到时间戳小于或等于T的事件了。

  • 水位线如果设置过小,可能会有延迟较久的事件未被处理,从而影响结果的准确性;需要额外代码来处理他们。
  • 水位线如果设置过大,虽然准确性得到保证,但是延迟却变高了。
上一篇:Flink的窗口处理机制(二)


下一篇:【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型