图解flink watermark工作原理

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: watermark 我们从因为单词拆解翻译,就是水位线。既然是水位线,所以我觉得通过试管(化学实验器皿)来描述这个最合适不过了

watermark 我们从英文单词拆解翻译,就是水位线。既然是水位线,所以我觉得通过试管(化学实验器皿)来描述这个最合适不过了。
flink引入窗口机制是为了处理无序数据流入的问题,那么窗口什么时候触发呢,那么必须约定一个全局的时间点,这个时间点就是waterMark。
举例:我们往试管里面倒入水(偶尔是持续的偶尔是断断续续的)同时要观察试管里面水的读数并记录下来,并且规定每增加20ml的水做一次记录(即window大小为20ml)。由于水偶尔断断续续倒入,偶尔是连续倒入,为了避免水面滚动或者突然没水了影响读数的准确性(例如登记了500ml,但是实际倒入490ml的时候没水就会出现登记结果和实际水量不符),我们对试管不断的按固定大小的刻度做标记(watermark),每次只能对标记以下的水量进行记录登记(window)。想象一下,当连续倒入的时候记录的速度会赶不上倒入的速度,这时候会出现watermark是持续在水面下的,当水是断断续续倒入的时候,可能会出现watermark在水面上,这时候如果是按倒入水所在刻度作为watermark的依据时(所谓的event time模式),watermark必须暂停标记,直到水倒入超过watermark所在刻度。
好了,前面废话说的太多,直接上图:
watermark.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
4月前
|
数据处理 Apache 流计算
Flink Watermark和时间语义
Flink Watermark和时间语义
59 2
|
25天前
|
监控 Apache 流计算
时间的守卫者:揭秘Flink中Watermark如何掌控数据流的时空秩序?
【8月更文挑战第26天】Apache Flink是一款功能强大的流处理框架,其Watermark机制为核心,确保了系统即使面对数据乱序或延迟也能准确处理时间相关的特性。Watermark作为一种特殊事件,标记了所有在此之前发生事件的最晚时间点,这对于时间窗口操作至关重要。
35 0
|
29天前
|
流计算
Flink执行原理
Flink执行原理
28 0
|
29天前
|
资源调度 算法 Java
Flink四种集群模式原理
Flink四种集群模式原理
31 0
|
4月前
|
运维 监控 Java
面经:Storm实时计算框架原理与应用场景
【4月更文挑战第11天】本文是关于Apache Storm实时流处理框架的面试攻略和核心原理解析。文章分享了面试常见主题,包括Storm的架构与核心概念(如Spout、Bolt、Topology、Tuple和Ack机制),编程模型与API,部署与运维,以及应用场景与最佳实践。通过代码示例展示了如何构建一个简单的WordCountTopology,强调理解和运用Storm的关键知识点对于面试和实际工作的重要性。
215 4
面经:Storm实时计算框架原理与应用场景
|
4月前
|
数据处理 Apache 流计算
Flink Watermark和时间语义
Flink Watermark和时间语义
|
4月前
|
存储 NoSQL 分布式数据库
【Flink】Flink分布式快照的原理是什么?
【4月更文挑战第21天】【Flink】Flink分布式快照的原理是什么?
|
4月前
|
数据处理 Apache 流计算
【Flink】Flink 中的Watermark机制
【4月更文挑战第21天】【Flink】Flink 中的Watermark机制
|
4月前
|
SQL Prometheus Kubernetes
实时计算 Flink版产品使用合集之时间戳读取的原理是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
机器学习/深度学习 分布式计算 BI
Flink实时流处理框架原理与应用:面试经验与必备知识点解析
【4月更文挑战第9天】本文详尽探讨了Flink实时流处理框架的原理,包括运行时架构、数据流模型、状态管理和容错机制、资源调度与优化以及与外部系统的集成。此外,还介绍了Flink在实时数据管道、分析、数仓与BI、机器学习等领域的应用实践。同时,文章提供了面试经验与常见问题解析,如Flink与其他系统的对比、实际项目挑战及解决方案,并展望了Flink的未来发展趋势。附带Java DataStream API代码样例,为学习和面试准备提供了实用素材。
386 0