Flink学习-时间语义

含义

事件时间:数据产生的时间
处理时间:数据的处理时刻

水位线

用来衡量事件时间进展的标记,就被称作『水位线』,水位线可以看作是一条特殊的数据记录,是插入到数据流中的一个标记点,主要内容是个时间戳,标记事件时间。
虽然水位线代表着数据事件时间,但是数据可能乱序到达,如何处理乱序的水位线,在
乱序+数据量小:判断数据当前时间是否大于当前水位线,大于则更新水位线。
乱序+数据量大:每过一段找到这段时间最大的时间戳,判断与当前水位线关系,大则更新
乱序+迟到的数据:为了让窗口窗口收集到迟到的数据,采用等待窗口。
水位线特性:

  1. 水位线是插入到数据流中的一个标记,可以认为是一个特殊的数据
  2. 水位线主要的内容是一个时间戳,表示当前事件时间的进展
  3. 水位线是基于数据的时间戳生成的
  4. 水位线的时间戳必须单调递增,以确保任务的事件时间一直向前推进

flink中可以将数据流切割成有限大小的多个存储桶(存储桶),会把每个数据分发到对应的桶中,每个数据都会分发到对应的桶,当到达窗口结束时间时,就对每个桶中收集的数据进行计算处理。

生成水位线

完美的水位线是绝对正确的,是指等足够的时间,保证水位线之前的数据全部到齐,但是为实时性,没有办法让水位线等的足够长,对于低延迟和结果的正确需要权衡机制
指定watermark 策略,然后使用时间窗口时应该使用事件时间的窗口。
watermark主要有两类一类是有序的,一类是乱序的(其实,本质上有序的就是乱序容忍度为0的乱序)
有序流:watermark = 最大事件时间
无序流:watermark= 最大事件时间 - 乱序容忍度

多并行度下水位线传递

在多个算子下,数据的处理速度不同,在流式计算中,不同算子处理的进度是不同的,在watermark进度传递时候,按照最小原则进行传递。多个并行度下只有算子的每个处理进度到达触发。
特殊情况下,可能由于某个并行度某个并行度下一直没有数据,会导致窗口一直不触发,针对这种清库,可以为并行度设置空闲等待。

迟到数据处理

针对迟到的数据可以设置数据允许迟到,保证对于迟到的数据也能进行处理,通过 allowedLateness 推迟关闭窗口,窗口主要有两步:1是触发窗口计算,2是窗口关闭:乱序容忍度针对触发窗口计算时间的推迟;推迟关闭窗口则是针对窗口关闭,在推迟窗口关闭这块则是来一条则需要重新计算一次窗口。

迟到数据可以通过侧数据流进行处理

因为实时流式处理,不会一直等待数据,但是可以通过辅助的侧流的数据进行处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/850453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IO多路复用详解

1. 概念 IO多路复用也称IO多路转接,它是一种网络通信的手段(机制),通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件描述符就绪( 可以读数据或者可以写数据)程序的…

Oracle基本操作

操作 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL 对这些对象和属性的管理和定义具体表现在 create、drop 和 alter 上。 create 可以创建数据库和数据库的一些对象 drop …

TypeScript看这篇就够了

TypeScript 技术文档 目录 TypeScript 技术文档1. 简介2. 安装与配置3. 基本类型3.1 布尔值3.2 数字3.3 字符串3.4 数组3.5 元组3.6 枚举3.7 Any3.8 Void3.9 Null 和 Undefined3.10 Never3.11 Object 4. 接口4.1 简单示例4.2 可选属性4.3 只读属性4.4 函数类型4.5 可索引类型 5…

轻NAS玩客云使用Docker部署小雅并挂载到AList详细流程分享

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 前言 本文主要介绍如何在安装了CasaOS的玩客云主机中部署小雅AList,并在AList中挂…

C语言基础学习之位运算

枚举类型 enum 枚举名 { 枚举常量 //名字 }; 注意: 1.c语言中 对于枚举类型 实际上是 当作整型处理的 2.提高代码可读性, 写成枚举,可以做语法检查 3.枚举常量,之间用逗号隔开 4.枚举常量,可以给初值,给了初值之后&…

新电脑必装的7款软件,缺一不可

如果你买了新电脑或者是重装了新系统,那么这7款软件你一定要安装。 1、SpaceSniffer 如果你的C盘经常爆红,但是不知道是什么原因,那么你应该需要SpaceSniffer这款软件,它可以把你C盘中文件的空间占用情况,以大小方框…

当我拿到百度文心智能体大赛top1后,我又开发了...

目录 一、写在前面 二、代码助手 三、关于智能体 四、写在后面 一、写在前面 在不久前结束的文心智能体大赛(第一期)中,我有幸凭借一款名为恋爱助手的智能体斩获了大赛的桂冠。这个成绩,既是对我努力的认可,也是对…

Qt中图表图形绘制类介绍

接上篇介绍QChart 相关的类,本片主要在QChart 载体上进行图表图形绘制使用各种形状的图类。 一.QXYSeries类 QXYSeries类是QLineSeries折线图,QSplineSeries样条曲线图,QScatterSeries散点图的基类; QXYSeries类的使用都可以参考…

人工智能_机器学习096_PCA主成分分析降维算法_PCA降维原理_介绍和使用_模式识别_EVD特征值分解_SVD奇异值分解---人工智能工作笔记0221

首先我来看PCA降维,可以看到在图像处理中经常用到PCA,经过对数据进行降维可以去除数据噪声,发现数据中的模式,也就是 发现数据的规律. 这里的模式识别就是 机器学习中的一个分支 就是在数据中找规律的意思 我们使用代码看一下 from sklearn.docomposition import PCA from skl…

ecursionError: maximum recursion depth exceeded while calling a Python object

在 Python 中,RecursionError: maximum recursion depth exceeded 错误通常发生在一个函数递归调用自身太多次,超出了 Python 默认的递归深度限制时。Python 默认的递归深度限制是比较低的,以避免无限递归导致的栈溢出。 在你的代码中&#…

考虑风光场景生成的电动汽车并网优化调度【遗传算法】【IEEE33】

目录 主要内容 部分代码 部分结果 下载链接 主要内容 程序主要内容是考虑风光场景生成的电动汽车并网优化调度,采用的方法如下所述: ①采用蒙特卡洛方法,结合copula函数以及fuzzy-kmeans,获取6个典型风光出力场景&…

Linux C语言:输入输出(printf scanf)

一、数据输出 1、C语言I/O操作由函数实现 #include <stdio.h> 2、字符输出函数 格式: int putchar( int c ) 参数: c为字符常量、变量或表达式 功能&#xff1a;把字符c输出到显示器上 返值&#xff1a;putchar函数的返回值是参数的ASCLL码值&#xff1b; #inclu…

深入理解交叉熵损失CrossEntropyLoss - 乘积符号在似然函数中的应用

深入理解交叉熵损失CrossEntropyLoss - 乘积符号在似然函数中的应用 flyfish 乘积符号prod&#xff0c;通常写作 ∏ \prod ∏&#xff0c;它类似于求和符号 ∑ \sum ∑&#xff0c;但它表示的是连续乘积。我们来看一下这个符号的具体用法和例子。 乘积符号 ∏ \prod ∏ …

1.奖牌的数量

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/447 题目描述 小爱获得了 𝑎a 枚金牌,…

领导者在沟通中最容易犯的错误

本文讨论了领导者在沟通过程中如何避免成为传声筒&#xff0c;通过筛选、处理和总结信息&#xff0c;在向上、向下沟通时保持相关性和真实性&#xff0c;提高沟通效率和效果。原文: The Dumbest Mistake Leaders Make in Communication 中层管理者作为高层领导、下属团队和其他…

Float浮动

Float浮动 CSS中float属性会使元素浮动&#xff0c;使元素向左或向右移动&#xff0c;直到它的外边缘碰到包含框或另一个浮动框的边框为止。 实例 元素的水平方向浮动&#xff0c;意味着元素只能左右移动而不能上下移动。使用float意味着使用块布局&#xff0c;其会在displa…

基于springboot的酒店管理系统源码数据库

时代的发展带来了巨大的生活改变&#xff0c;很多事务从传统手工管理转变为自动管理。自动管理是利用科技的发展开发的新型管理系统&#xff0c;这类管理系统可以帮助人完成基本的繁琐的反复工作。酒店是出门的必需品&#xff0c;无论出差还是旅游都需要酒店的服务。由于在旺季…

Vue3中的常见组件通信之`$refs`、`$parent`

Vue3中的常见组件通信之$refs、$parent 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-mod…

智能合约中代理漏洞

合约代理漏洞 代理模式在智能合约开发中非常常见&#xff0c;尤其是在升级和模块化设计中。代理合约&#xff08;Proxy Contract&#xff09;通常用于分离逻辑实现与合约的外部接口&#xff0c;允许在不改变接口的情况下升级或替换底层实现。然而&#xff0c;如果代理合约的初…

Vue数据动态代理机制的实现

Object.defineProperty() &#xff08;1&#xff09;这个方法是ES5新增的 &#xff08;2&#xff09;这个方法的作用是&#xff1a;给对象新增属性&#xff0c;或者设置对象原有的属性 &#xff08;3&#xff09;用法&#xff1a;Object.defineProperty(给哪个对象新增属性,‘…