本文主要是介绍【Flink 实战系列】No Watermark (Watermarks are only available if EventTime is used),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
No Watermark (Watermarks are only available if EventTime is used)
问题背景
在 Flink 消费 kafka 的数据,经过一个 map 算子,然后调用 assignTimestampsAndWatermarks 生成 Watermark 后,然后 keyby + window,设置了 ContinuousEventTimeTrigger 5 秒钟触发一次窗口的计算,但是发现窗口一直没有触发计算,大家记住一点,只要是在 EventTime 语义下,窗口不触发的,基本上都是因为 Watermark 的问题。最后查看 Flink UI 对应算子的 Watermark 信息显示为 No Watermark (Watermarks are only available if EventTime is used) 如下图所示:
问题分析
先来看下这句话的意思是说没有 Watermark ,Watermark 只有在使用 EventTime 的时候才可用,我这里使用的就是 EventTime 时间语义啊,并且还通过 assignTimestampsAndWatermarks 生成了 Watermark,那这里为什么没有呢?首先我们应该知道 Watermark 在传递的时候有一个规则,那就是
这篇关于【Flink 实战系列】No Watermark (Watermarks are only available if EventTime is used)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!