flink watermark

1.Flink时间类型

(1) Event Time:事务(数据)自带的时间戳

(2) Ingestion Time: 数据进入Flink的时间

(3) Processing Time: 数据被处理时间(墙上时间)

2.划分窗口带来的问题

在数据是有序的情况下,窗口很容易划分。现实中,由于一些原因,数据的时间不是有序的,那么如何确保时间窗口里的数据全部进入了Flink系统处理,如果确保不了,Flink会一直维护这个窗口的数据状态,造成资源浪费。我们很容易知道,如果时间是有序的,就很容易解决这个问题。是不是可以人为 定一个时间,保证有序性。Flink中watermark由此而来。

3.watermark机制

watermark产生方式

(1) 一定时间间隔或者数据量到达一定程度时,产生一个watermark

(2) 根据event time产生watermater。如一条记录产生一个watermark,时间是event time + 10s,Flink处理watermark指定时间时,默认这个时间窗口内的数据全部到达,认为超出这个范围内的数据出现概率小,不影响准确性,可以直接丢弃;或者改变watermark处理机制

 

posted @ 2019-10-13 22:35  静静地挖坑  阅读(310)  评论(0编辑  收藏  举报