Flink 中的事件时间窗口不触发

heq*_*128 1 apache-flink flink-streaming flink-sql

当我使用 flink 事件时间窗口时,该窗口不会触发。请问如何解决问题,有什么方法可以调试吗?

heq*_*128 5

当您使用事件时间窗口时,这可能是水印问题。该窗口仅在水印取得进展时输出。事件时间没有提前的原因有以下几点:

  1. 没有来自来源的数据
  2. 源并行性之一没有数据
  3. 从记录中提取的时间字段应该是毫秒而不是秒。
  4. 数据应覆盖比窗口大小更长的时间跨度以推进事件时间。

如果我们将事件时间更改为处理时间,窗口将输出。此外,我们可以通过检查 Web 仪表板 [1] 中的水印来监控事件时间,或者使用可以查找当前水印的 ProcessFunction 对其进行打印调试。

[1] https://ci.apache.org/projects/flink/flink-docs-master/monitoring/debugging_event_time.html#monitoring-current-event-time