flink的window和windowAll的区别

背景

在flink的窗口函数运用中,window和windowAll方法总是会引起混淆,特别是结合上GlobalWindow的组合时,更是如此,本文就来梳理下他们的区别和常见用法

window和windowAll的区别

window是KeyStream数据流的方法,其并行度是任意的,也就是最大可以和分组key的数量相同

windowAll是DataStream数据流的方法,其并行度只能是1,也就是所有的元素都会被聚合到一个算子任务上,性能极差

GlobalWindows.create()是一个全局的窗口分配器,

它的作用和TimeWindow或CountWindow一样,都是对元素进行窗口分配,不同点在于GlobalWindows把分区内所有的元素分配到同一个窗口,并且不会触发计算,

而TimeWindow或CountWindow会基于时间或者元素个数对元素进行窗口的分配,并且满足条件就会触发计算

以下是示意图:

GlobalWindows+KeyedStream常见用法如下:

WindowedStream<Integer, Integer, GlobalWindow> keyedWindowedStream = keyedStream.window(GlobalWindows.create()).trigger(PurgingTrigger.of(CountTrigger.of(10)));

GlobalWindows+DataStream常见用法如下:

AllWindowedStream<Integer, GlobalWindow> allWindowedStream = dataStream.windowAll(GlobalWindows.create()).trigger(PurgingTrigger.of(CountTrigger.of(10)));

相关推荐
SelectDB9 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB9 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB9 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
裕晟资质规划14 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
考拉讲支付15 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
什么嘻嘻果冻15 小时前
无代码开发平台的技术架构,恐象 AI 的生成引擎拆解
大数据·人工智能·低代码
用户36105886261215 小时前
Flink 优化之 CheckPoint 优化及参数详解:从原理到生产环境调优的完整指南
大数据·flink
注塑机数据采集联网15 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
samFuB15 小时前
【数据集】城镇化水平数据集-中国/省/市/县(2000-2025年)
大数据