Flink dataStream,如何开窗,如何进行窗口内计算

news/2024/11/28 0:46:52/

目录

开窗方式

windowAll()

window()

窗口类型

基于时间

基于数量

开窗后的处理函数

全量聚合函数(也叫窗口函数)

增量聚合函数

增量聚合函数携带一个全量聚合函数


开窗方式

windowAll()

对于没有keyBy的数据流

window()

对于KeyBy后的数据流

窗口类型

基于时间

事件时间语义

滑动

滚动

会话

处理时间语义

滑动

滚动

会话

基于数量

滑动

滚动

开窗后的处理函数

开完窗口后数据的处理方式,首先要对数据进行聚合,聚合的方式分两种,一种全量聚合,一种增量聚合

全量聚合函数(也叫窗口函数)

  • process 记住这一个就够了
  • apply process效果一样,但是没有process全面

每个窗口的所有数据调用一次该函数,在这个函数中有个迭代器,可以获取当前窗口的所有数据

优点:可以获取整个窗口的全量数据,对数据的可处理性更强,比如排序。而且最重要的是他能获取当前的窗口信息

缺点:资源占用率高,效率低

增量聚合函数

  • aggrgate 输入可以与输出类型不一致,api复杂
  • reduce 输入和输出类型必须一致,api简单
    • max\maxBy
    • min\minBy
    • sum

每条记录调用一次该函数,这个函数中总有上一条和当前条两个数据

优点:资源占用率低,效率高

缺点:无法进行复杂逻辑的处理,无法获取窗口信息

增量聚合函数携带一个全量聚合函数

增量聚合的缺点过于明显,但是平时的业务对于全量聚合函数的需求又没这么高,因此Flink提供了一个增量聚合函数携带全量聚合函数的混合使用API,数据处理逻辑还是走增量聚合的逻辑,省资源、效率高,但是一个窗口的数据处理完成后,会调用一次全量聚合函数。又完美了应用了全量聚合函数的特点,可以获取窗口时间。

在这里插入图片描述
其中全量窗口函数有两个WindowFunction 和ProcessWindowFunction,两种功能一致,后者更强大,官方推荐ProcessWindowFunction


http://www.ppmy.cn/news/65357.html

相关文章

第13章 CacheService角色实体的CURD操作示例

1 Services.Customers.CustomerServiceDefaults using Core.Caching; using Core.Domain.Customers; namespace Services.Customers { /// <summary> /// 【用户服务默认--类】 /// <remarks> /// 摘要&#xff1a; /// 该类中的属性成员实例设定一些常量值&…

C++初始化列表

1.初始化列表概述 初始化列表&#xff1a;以一个冒号开始&#xff0c;接着是一个以逗号分隔的数据成员列表&#xff0c;每个"成员变量"后面跟一个放在括号中的初始值或表达式。 2.为什么使用初始化列表 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c…

探索数字化转型新道路!流辰信息微服务与您一起创未来!

科技在进步&#xff0c;社会在发展&#xff0c;办公自动化也在高速发展中。数字化转型是当下企业获得长久发展的趋势之一&#xff0c;在信息瞬间万变的社会中&#xff0c;谁掌握了核心技术&#xff0c;谁能与时代同步&#xff0c;谁就能开启新的康庄大道&#xff0c;谁就能在转…

【单目标优化算法】孔雀优化算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

OpenCV-Python图像阈值

目录 简单阈值 自适应阈值 Otsu的二值化 所谓的图像阈值&#xff0c;就是图像二值化&#xff0c;什么是二值化&#xff0c;就是只有0和1&#xff0c;没有其他的。在OpenCV的图像里面&#xff0c;二值化表示图像的像素为0和255&#xff0c;并没有其他的值&#xff0c;它跟灰度…

02. 路由的定义和控制器

学习要点&#xff1a; 1.路由的定义 2.创建控制器 本节课我们来开始进入学习路由模块&#xff0c;然后简单了解控制器的创建。 一&#xff0e;路由的定义 1. 什么是路由&#xff1f;路由就是提供接受 HTTP 请求的路径&#xff0c;并和程序交互的功能&#xff1b; 2. 简单点理解…

多元统计分析-主成分分析的原理与实现

目录 一、什么是主成分分析&#xff1f; 二、主成分分析的原理 三、主成分分析的应用 四、使用sklearn实现主成分分析 五、总结 一、什么是主成分分析&#xff1f; 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种常用的多元统计分…

css布局——flex布局知识点总结(青蛙游戏)

文章目录 学习网址推荐align-items、justify-content合并使用左右分布和垂直end flex-directionrowrow-reversecolumncolumn-reserse横向逆转并水平start垂直列并从末尾排列逆向垂直列并左右排列水平居中&#xff0c;垂直end&#xff0c;横向逆向 order、align-selforder改变排…