flink中事件时间特性的滑动窗口

时间:2019-04-10 03:19:33

标签: apache-flink flink-streaming sliding-window

我是Flink的新手,需要帮助。我有5分钟时间间隔的事件流。我想通过调用rest API来获取事件的元数据,该API具有最近1小时数据点的历史事件,即最近12点(时间间隔为5分钟)。

例如,为事件加上时间戳10:00、10:05、10:10、10:15等 因此,如果我想获取带有时间戳记的事件的元数据11:00,我将调用发送所有带有时间戳记的事件10:00、10:05、10:10、10:15 .. 10:55

我使用TimeCharacteristic.EventTime执行环境实现了该方法,并使用AssignerWithPeriodicWatermarks提取了事件和水印的时间戳,时间间隔为1小时。

为了获得前面的要点,我创建了一个1小时的滑动窗口和5分钟的滑动窗口(假设1个事件随窗口滑动)。我创建了ProcessAllWindowFunction,收集了所有窗口元素,然后调用其余的api。但是,当我打印窗口元素时,会得到大约400个事件时间戳。

好像没有正确创建窗口。不确定问题出在代码中还是我的方法

1 个答案:

答案 0 :(得分:0)

您是否使用 ngOnDestroy() { localStorage.removeItem('key'); } ?此功能可能导致窗户多次开火。

https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/windows.html#allowed-lateness