其他分享
首页 > 其他分享> > flink-watermark 是什么?

flink-watermark 是什么?

作者:互联网

1: watermark 是流里的一个特殊的元素,这个不是我说的,看源码的注释:

public final class Watermark extends StreamElement {

然后我们看看StreamElement的注释里:
An element in a data stream. Can be a record or a Watermark.

2:watermark 是要配合我们的窗口来使用的,且我们要使用的时间语义这个时候是事件时间,watermark 通过决定何时关闭窗口来做到我们对乱序数据的处理。它其实就是窗口的边界,一旦它和窗口的关闭的时间一样的时候,窗口就要关闭了,后来的数据就不再属于这个窗口,窗口是左开右闭的。

3:watermark是只增不减的,因为我们的事件时间按道理来说是只会随着时间的流逝逐步的递增,所以和event time 强关联的watermark必然也是逐步递增的。

4:如何处理分布式下的watermark,一说到分布式简单的问题就会变得复杂。

5:如何设定合理的watermark其实狠考验人,常见的处理方式一般可以满足多数不是狠复杂的需求。

标签:窗口,StreamElement,Watermark,什么,flink,watermark,关闭,分布式
来源: https://blog.csdn.net/weixin_36630761/article/details/121802786