关于Flink滑动窗口(SlidingWindow)聚合时状态存储内容的咨询
Flink滑动窗口聚合的状态存储机制
单滑动窗口场景(1小时窗口、5分钟步长的count聚合)
当使用这类滑动窗口做count聚合时,每个Key下会存储对应12个独立的long类型count值——因为1小时窗口按5分钟步长滑动,同一时刻最多存在12个重叠的活跃窗口(60分钟 ÷ 5分钟步长 = 12),每个窗口都会独立维护自己的累计计数状态,彼此互不干扰。
多窗口并行计算场景(同时计算1小时、3小时、6小时窗口)
不同大小的窗口属于独立的计算分支,各自维护完全隔离的状态:
- 1小时窗口(5分钟步长):每个Key最多存12个count值
- 3小时窗口(5分钟步长):每个Key最多存36个count值(180分钟 ÷5分钟步长=36)
- 6小时窗口(5分钟步长):每个Key最多存72个count值(360分钟 ÷5分钟步长=72)
所有窗口的状态都是独立管理的,当窗口到达结束时间完成计算输出后,对应的窗口状态会被自动清理(默认状态过期策略),不会长期占用存储。
内容的提问来源于stack exchange,提问作者LolKekCheburek
相关产品推荐
相关产品推荐

