Flink的三种时间语义

devtools/2024/12/28 7:56:07/

        在流数据处理中,一个很重要也很常见的操作就是窗口计算。窗口计算与时间密不可分。

        窗口的计算在分布式流处理环境中,可能会面临如下问题:数据由上游发送到下游的过程中,可能是跨节点传输的,而网络传输存在延迟,数据到达下游节点的时间则有先有后,则会产生乱序数据问题,如8点59分59秒产生的数据可能比9点01分01秒产生的数据后到达下游节点,那么它究竟是属于8-9点的时间窗口,还是9-10点的时间窗口呢?这就首先需要我们明确Flink中的不同时间语义。

一、事件时间

        ”事件时间“语义是指数据产生的时间。数据一旦生成,这个时间就确定了,可以作为一个时间属性嵌入到数据中,就是这条数据记录的时间戳。那么在事件时间语义下,上面8点59分59秒产生的数据在9点01分01秒到达下游节点,还应当属于8-9点的时间窗口。

        通常来说,事件时间语义更符合业务计算逻辑,但是由于网络传输延迟问题,数据到达下游节点时存在乱序问题,因此要想计算8-9点的时间窗口数据,就需要等待所有8-9点生成的数据都到齐,事件时间语义以一定延迟为代价换取计算的准确性。

二、处理时间

        “处理时间"语义是指数据被真正处理的时刻,很显然,这里指的是在相应处理节点机器上的系统时间。以处理时间来衡量数据属于哪个时间窗口十分方便,如上面8点59分59秒产生的数据在9点01分01秒到达下游节点,那么它就属于9-10点的时间窗口,数据能够及时的被处理,不需要等待可能的延时数据。但是处理时间不符合业务逻辑,如要计算不同时段的pv、uv,那么按照业务逻辑,这条数据应当属于8-9点的时间窗口。

        处理时间语义适用于对实时性要求极高,而对数据计算的准确性要求不太高的场景。

三、摄取时间

        摄取时间是指数据进入flink数据流的时间,也就是被source算子读取的时间。 


http://www.ppmy.cn/devtools/146049.html

相关文章

零售小程序怎么自己搭建?开个小卖铺如何留住客户?

目录 1. 零售小程序搭建的第一步,先搞清楚需求 2. 找个靠谱的开发团队,少走弯路 3. 小程序的用户体验要简单直接 随着电商的迅速发展,零售商家纷纷开始尝试通过小程序来拓展业务。今天我们聊聊如何自己搭建一个零售小程序,以及如何…

wps透视数据表

1、操作 首先选中你要的行字段表格 -> 插入 -> 透视数据表 -> 拖动行值(部门)到下方,拖动值(包裹数量、运费)到下方 2、删除 选中整个透视数据表 -> delete 如图:

vulnhub靶场-jangow-01-1.0.1(截止至获取shell)

安装靶机后我们发现我们扫描不到靶机的ip,所以我们需要修改靶机的配置文件 系统启动时,长按shift键,选择第二个选项,回车后再选择第二个选项 然后不要回车,按e,进入后向下翻 找到并删除删除“recovery nom…

apifox调用jar程序

背景:测试接口要用到签名,所以想通过apifox直接设置签名相关字段 解决方案:开始是准备些javascript脚本,但是一直存在依赖的方法找不到问题,后面知道可以调用java程序,简直方便多了 一、写java程序&#x…

手机IP地址:定义、查看与切换方法

在移动互联网时代,手机已成为我们日常生活中不可或缺的一部分。无论是浏览网页、社交互动,还是在线购物、移动支付,手机都扮演着至关重要的角色。然而,在这些便捷的网络活动中,一个关键的概念常常被忽视,那…

Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍

前文指路:《Vue零基础教程》,从前端框架到GIS开发系列课程 Vue零基础教程|从前端框架到GIS开发系列课程(二) Vue零基础教程|从前端框架到GIS开发系列课程(三)模板语法 Vue零基础教程|从前端框架到GIS开发…

frameworks 之 WMS层级树

frameworks 之 WMS层级树 1. 容器类1. WindowContainer2. RootWindowContainer3. DisplayContent4. DisplayAreas4. 1 DisplayArea.Tokens4. 2 TaskDisplayArea4. 3 DisplayArea.Dimmable 5. WindowToken5.1 WallpaperWindowToken5.2 ActivityRecord 6. TaskFragment6.1 Task 7…

【QT】自定义QLabel

QLabel 既可以加载图片也可以绘制图形。 本章通过QLabel实现图片加载并在QLabel上绘制任意图形。 在使用 QLabel 实现加载图片功能,并在图片上绘制任意图形时,图片发生缩放后会存在图形拉伸情况,导致结果存在偏差。(原因分析这里不…