flink水位线传播及任务事件时间

背景

本文来讲解一下flink的水位线传播及对其对任务事件时间的影响

水位线

首先flink是通过从源头生成水位线记录的方式来实现水位线传播的,也就是说水位线是嵌入在正常的记录流中的特殊记录,携带者水位线的时间戳,以下我们就通过图片的方式来讲解下水位线是如何传播以及更新任务的事件时间的.

如上图所示,任务中的事件时间等于任务中收到的前置任务中的最小水位线时间,然后任务会把当前任务的事件时间通过广播的方式向下游传播.

总结

从水位线的更新我们可以知道它依赖于前置的每个任务周期性的推进对应分区的水位线时间,也就是如果某个分区的水位线时间一直不更新,那么任务的事件时间就会没法更新,这样也就导致一直没法触发时间相关算子任务的计算,从而导致该任务只能不停的缓冲其他分区的记录流,从而导致状态大小膨胀以及内存消耗的增加,甚至导致OOM的严重后果,所以所有分区的水位线必须有规律的递增,并且相互之间不能相差太大。

相关推荐
武子康11 小时前
大数据-244 离线数仓 - Hive ODS 层建表与分区加载实战(DataX→HDFS→Hive)
大数据·后端·apache hive
武子康1 天前
大数据-243 离线数仓 - 实战电商核心交易增量导入(DataX - HDFS - Hive 分区
大数据·后端·apache hive
代码匠心3 天前
从零开始学Flink:Flink SQL四大Join解析
大数据·flink·flink sql·大数据处理
武子康4 天前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
SelectDB5 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康6 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
IvanCodes6 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康6 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
字节跳动数据平台7 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康8 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive