问题描述
如何在 Flink 中设置触发器在特定时间过去后执行某些操作? 例如:每天下午 1 点的流的总和
解决方法
KeyedProcessFunction
可以使用计时器在特定时间(基于每个键)触发操作。它们可以是使用系统时间的处理时间计时器,也可以是由水印触发的事件时间计时器。
以下是文档中的教程中的每个示例:
另见the more detailed docs about process functions and timers。
请注意,如果您不想以键分区的方式应用计时器,而是需要对整个数据流进行操作(即,不是并行),您可以使用 keyBy(constant)
进入一个键控上下文,而不实际对流进行分区。