Flink中的时间含义

在实际应用中,事件时间语义会更为常见。一般情况下,业务日志数据中都会记录数据生成的时间戳(timestamp),它就可以作为事件时间的判断基础。
在Flink中,由于处理时间比较简单,早期版本默认的时间语义是处理时间;而考虑到事件时间在实际应用中更为广泛,从Flink1.12版本开始,Flink已经将事件时间作为默认的时间语义了。
事件时间和窗口

水位线的含义
在Flink中,用来衡量事件时间进展的标记,就被称作“水位线”(Watermark)。
具体实现上,水位线可以看作一条特殊的数据记录,它是插入到数据流中的一个标记点,主要内容就是一个时间戳,用来指示当前的事件时间。而它插入流中的位置,就应该是在某个数据到来之后;这样就可以从这个数据中提取时间戳,作为当前水位线的时间戳了。


本文介绍了Flink中的事件时间语义,重点讲解了水位线的概念、生成原则以及如何处理迟到数据。自Flink1.12版本起,事件时间成为默认,涉及窗口的正确理解和配置,如设置窗口延迟和使用侧流接收迟到数据。
最低0.47元/天 解锁文章
2324

被折叠的 条评论
为什么被折叠?



