我有一个使用flink应用程序的场景,该应用程序接收以下格式的数据流:
{“event\u id”:“c1s2s34”,“event\u create\u timestamp”:“2019-03-07 11:11:23”,“amount”:“104.67”}
我使用下面的滚动窗口来查找过去60秒内输入流的总和、计数和平均值。
键值。时间窗口(时间秒(60))
然而,我如何标记聚合结果,以便我可以说16:20和16:21之间的输出数据流聚合结果是和x、计数y和平均z。
任何帮助都被挪用。
如果您查看Flink培训站点中的窗口示例--https://training.ververica.com/exercises/hourlyTips.html--您将看到一个示例,说明如何使用ProcessWindowFunction从包含计时信息等的窗口创建输出事件。其基本思想是,向ProcessWindowFunction上的process()方法传递一个上下文,该上下文又包含Window对象,您可以从中确定窗口的开始和结束时间,例如,<代码>上下文。window()。getEnd()。
然后,您可以安排ProcessWindowFunction返回元组或POJO,其中包含要包含在报告中的所有信息。
使用翻滚窗口的apache flink应用程序遇到问题。窗口大小是10秒,我希望每隔10秒有一个resultSet数据流。然而,当最新窗口的结果集总是延迟时,除非我将更多数据推送到源流。 例如,如果我在“01:33:40.0”和“01:34:00.0”之间将多条记录推送到源流,然后停止查看日志,则不会发生任何事情。 我在“01:37:XX”上再次推送一些数据,然后将在“01:33:40.0”和“0
我正在使用翻滚窗口(5分钟)和,因为我的源代码来自Kafka。但是窗口总是运行超过5分钟。有人能建议吗?
问题陈述:来自kafka源的流式事件。这些事件有效载荷为字符串格式。将它们解析为文档,并根据事件时间每隔5秒将其批量插入DB。 函数正在执行。但程序控制不会进入。因此不会发生批量插入。我尝试了键控和非键控窗口。它们都不工作。没有抛出错误。 flink版本:1.15.0 下面是我的主要方法的代码。我应该如何解决这个问题?
任何人都知道如何使用时间偏移进行翻滚窗口-窗口大小为一天,时间偏移基于时区以小时为单位。 我找到了使用DataStream API执行此操作的示例,想知道如何使用Table API/SQL实现它。 下面是我使用DataStream API的代码。 提前谢谢。
我有这样一个流:
主要内容:1.窗口概述,2.窗口分类,3.细分,4.窗口Api,5.窗口分配器 Window Assigners,6.窗口函数,7.TopN 实例1.窗口概述 Flink 是一种流式计算引擎,主要是来处理无界数据流的,数据源源不断、无穷无尽。想要更加方便高效地处理无界流,一种方式就是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。 在 Flink 中, 窗口就是用来处理无界流的核心。我们很容易把窗口想象成一个固定位置的“框”,数据源源不断地流过来,到某个时间点窗口