如何使用flink window api每秒在流窗口上应用聚合函数

时间:2017-05-17 04:54:39

标签: streaming apache-flink

我想在流窗口中应用函数sum,该窗口的周期为一小时,函数每秒执行一次。
例如:
当前时间是13:00:00-14:59:59,当前时间是13:00:03 13:00:04:sum 13:00:00-13:00:04 13:00:05:sum 13:00:00-13:00:05 。


13:59:59:sum 13:00:00-13:59:59

1 个答案:

答案 0 :(得分:1)

实现此目的的一种可能性是使用ProcessFunction。该功能允许您设置可以例如定时器。每秒开火。计算的中间结果可以存储在state中(例如ListStateValueState)。

另一种方法是实施自定义Trigger。触发器定义何时评估窗口的窗格,除非您还定义了自定义逐出器,否则内容本身不会受到影响。 Here是触发器的示例。