Flink 定时器的 4 个特性

Posted @SmartSi

tags:

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

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


本文介绍了在 Flink 中使用定时器的一些基本概念和注意事项。开发人员可以使用 Flink 的 ProcessFunction 算子来注册自己的定时器,该算子可以访问流应用程序的一些基本构建块,例如:

  • 事件(流元素)
  • 状态(容错,一致性,仅在 KeyedStream 上应用)
  • 定时器(事件时间和处理时间,仅在 KeyedStream 上应用)

有关 Flink ProcessFunction 的更多信息,请参考 Flink 如何使用 ProcessFunction

1. 什么是定时器

定时器可以让 Flink 流处理程序对处理时间和事件时间的变化作出反应。我们之前的一篇文章比较详细地介绍了 Flink 中不同概念的时间以及说明了处理时间、事件时间以及摄入时间之间的差异。在使用定时器处理事件流,每次调用 processElement() 时,我们可以借助 Context 对象访问元素的事件时间戳和 TimerService。然后我们使用 TimerService 为将来的事件时间/处理时间实例注册回调。这样之后,一旦到达定时器的指定时刻,就会调用 o

以上是关于Flink 定时器的 4 个特性的主要内容,如果未能解决你的问题,请参考以下文章

Flink 1.12 资源管理新特性

Flink 1.12 资源管理新特性回顾

从0到1Flink的成长之路(二十)-Flink 高级特性之State 状态后端

Flink源码阅读之周期性watermark生成逻辑分析

FlinkFlink Flink 1.14 新特性预览

Flink实时数据处理实践经验(Flink去重维表关联定时器双流join)