Flink翻滚窗口标签

时间:2019-03-07 15:25:00

标签: apache-flink data-stream

我有一个带有flink应用程序的场景,该应用程序接收以下格式的数据流:

  

{“ event_id”:“ c1s2s34”,“ event_create_timestamp”:“ 2019-03-07 11:11:23”,“ amount”:“ 104.67”}

我正在使用以下翻滚窗口查找过去60秒内输入流的总和,计数和平均数量。

  

keyValue.timeWindow(Time.seconds(60))

但是我如何标记聚合结果,这样我可以说输出数据流在16:20和16:21之间,聚合结果是x和,y和平均z。

需要任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您在Flink培训网站https://training.ververica.com/exercises/hourlyTips.html中查看窗口示例,您将看到一个示例,该示例如何使用ProcessWindowFunction从包含定时信息等的窗口中创建输出事件。基本思想是将ProcessWindowFunction上的process()方法传递给上下文,该上下文又包含Window对象,从中可以确定窗口的开始和结束时间,例如context.window().getEnd()

然后,您可以安排ProcessWindowFunction返回包含要包含在报告中的所有信息的元组或POJO。