我正在使用window(SlidingEventTimeWindows.of(Time.seconds(120), Time.seconds(1)))
滑动窗口来real_time数据流。我还使用接口AssignerWithPeriodicWatermarks
提取时间戳并分配水印。我正在apply()
窗口流上应用自定义方法。
在这种情况下,什么会触发窗口评估(apply()
执行),是每 1 秒发生一次,等于窗口幻灯片,还是在遇到流中的水印之后?
当窗口的结束时间戳小于当前水印时,将评估窗口。当窗口操作员收到新水印时,它会检查所有活动窗口并最终确定结束时间在新水印之前的所有窗口。
如果窗口滑动 1 秒,水印大约每 5 秒到达一次,则每个水印将触发五个窗口的评估。您可以将水印视为设置应用程序时钟的机制。如果操作员不知道时钟提前,则不会执行计算。