我有一个带有Flink应用程序的方案,该应用程序以以下格式接收数据流:
{" event_id":" c1s2s34"," event_create_timestamp":" 2019-03-07 11:11:23","量":" 104.67"}
我正在使用以下翻滚窗口来查找最近60秒内输入流的总和,计数和平均值。
keyValue.TimeWindow(time.seconds(60))
然而,我如何标记汇总结果,以便我可以说16:20至16:21的输出数据流汇总结果为sum x,count y和均等z。
平均任何帮助都可以拨给。
如果您查看flink培训网站中的窗口示例-https://training.verica.com/exercises/exercises/hourlytips.html-您将看到一个示例使用ProcessWindowFunction从包括定时信息等的Windows创建输出事件。基本思想是,ProcessWindowFunction上的Process()方法传递了一个上下文,该上下文包含窗口对象,您可以从中确定启动开始和窗口的结尾时间,例如context.window().getEnd()
。
然后,您可以安排您的ProcessWindowFunction,以返回包含您要包含的所有信息的元组或Pojos。