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)));

相关推荐
河南博为智能科技有限公司4 分钟前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
无代码专家2 小时前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
天远数科2 小时前
Node.js 原生加密指南:详解 Crypto 模块对接天远银行卡黑名单接口
大数据·api
expect7g2 小时前
Paimon Branch --- 流批一体化之二
大数据·后端·flink
天远云服3 小时前
高并发风控实践:AES 加密与银行卡风险标签清洗的 Go 语言实现
大数据·api
无级程序员3 小时前
datasophon中dolpinscheduler的自定义配置common.properties不生效问题解决
大数据
珠海西格电力3 小时前
零碳园区基础架构协同规划:能源-建筑-交通-数字系统的衔接逻辑
大数据·人工智能·智慧城市·能源
weixin_537217063 小时前
AI 智能体如何利用文件系统进行上下文工程
大数据·人工智能
见识星球3 小时前
名企校招攻略
大数据·python
路边草随风3 小时前
starrocks compaction 进度问题定位
大数据·sql