调试Windows和事件时间
监控当前事件时间
Flink的活动时间和水印支持是处理无序事件的强大函数。然而,由于在系统内跟踪时间的进展,因此很难理解究竟发生了什么。
可以通过Flink Web界面或度量系统访问每个任务的低水印。
Flink中的每个任务都公开一个名为的度量currentLowWatermark
,表示此任务接收的最低水印。该长值表示“当前事件时间”。该值是通过获取上游算子收到的所有水印的最小值来计算的。这意味着用水印跟踪的事件时间总是由最远的源控制。
可以使用Web界面,通过在“度量标准”选项卡中选择任务并选择<taskNr>.currentLowWatermark
度量标准来访问低水印度量标准。在新框中,您现在可以看到任务的当前低水印。
得到度量的另一方式是使用一个度量报告,对于所述文档中所述度量系统。对于本地设置,我们建议使用JMX度量标准报告器和VisualVM之类的工具。
处理事件时间Stragglers
- 方法1:水印停留较晚(表示完整性),窗口提前激活
- 方法2:具有最大延迟的水印启发式,窗口接受迟到数据