flink中基于系统时间的事件触发器

问题描述

如何在 Flink 中设置触发器在特定时间过去后执行某些操作? 例如:每天下午 1 点的流的总和

解决方法

KeyedProcessFunction 可以使用计时器在特定时间(基于每个键)触发操作。它们可以是使用系统时间的处理时间计时器,也可以是由水印触发的事件时间计时器。

以下是文档中的教程中的每个示例:

另见the more detailed docs about process functions and timers

请注意,如果您不想以键分区的方式应用计时器,而是需要对整个数据流进行操作(即,不是并行),您可以使用 keyBy(constant) 进入一个键控上下文,而不实际对流进行分区。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...