Flink 时间概念与 WaterMark

本文详细介绍了Flink中的三种时间概念——事件时间、接入时间和处理时间,并重点讲解了WaterMark机制,包括其在确保数据完备性中的作用、生成方式(按时间周期和按数量)以及如何处理迟到数据。同时提到了allowedLateness参数对处理迟到数据的影响。
摘要由CSDN通过智能技术生成

Flink 时间概念与 WaterMark

Flink中的时间分为三种

事件时间:Event Time

接入时间:Ingestion Time

处理时间:Processing Time

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5oglSmm-1591153494979)(http://cdn.rabbitai.cn/flink/flink_time/01.png)]

时间指定语法:

env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)

水位线机制是为了保证数据全部达到后再做处理

Watermark 的功能在于保证基于event_time 的窗口在销毁时,已经处理完了所以的数据。WaterMark 会携带一个单调递增的时间戳 t ,watermark(t) 表示所有时间戳不大于t的数据都已经到来了,未来小于等于t的数据不会再来,因此可以放心地触发和销毁窗口了。

Flink中使用最新的事件时间减去固定的时间长度(参数)作为Watermark, 保障窗口中数据的完备性,是由使用者的业务特性所确定的经验值。如果到达Watermark之后,仍有Watermark之下的数据,则认为是迟到的或者异常的数据,不会进入窗口的计算流程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hg9xXCqa-1591153494983)(http://cdn.rabbitai.cn/flink/flink_time/02.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值