42、Flink 关于窗口状态大小的考量

关于状态大小的考量

窗口可以被定义在很长的时间段上(比如几天、几周或几个月)并且积累下很大的状态,当估算窗口计算的储存需求时,注意如下:

  • Flink 会为一个元素在它所属的每一个窗口中都创建一个副本。 因此,一个元素在滚动窗口的设置中只会存在一个副本(一个元素仅属于一个窗口,除非它迟到了)。 与之相反,一个元素可能会被拷贝到多个滑动窗口中,因此设置一个大小为一天、滑动距离为一秒的滑动窗口可能不是个好想法。
  • ReduceFunctionAggregateFunction 可以极大地减少储存需求,因为他们会就地聚合到达的元素, 且每个窗口仅储存一个值,而使用 ProcessWindowFunction 需要累积窗口中所有的元素。
  • 使用 Evictor 可以避免预聚合, 因为窗口中的所有数据必须先经过 evictor 才能进行计算。
相关推荐
eastyuxiao7 小时前
思维导图拆解项目范围 3 个真实落地案例
大数据·运维·人工智能·流程图
Meya112712 小时前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
天辛大师13 小时前
天辛大师谈人工智能时代,如何用AI研究历代放生劝善忏悔文
大数据·人工智能·随机森林·启发式算法
渣渣盟13 小时前
Flink并行数据源:ClickSource实现详解
flink·scala
为儿打call13 小时前
SparkSQL 广播超时排查:小表但是多分区 = BroadcastTimeout
大数据·spark
eastyuxiao13 小时前
如何用思维导图拆解项目范围
大数据·人工智能·流程图
渣渣盟13 小时前
Flink单流转换算子实战解析
flink·scala
渣渣盟13 小时前
Apache Flink物理分区算子全解析
大数据·flink·apache
小王毕业啦14 小时前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据
N串14 小时前
2.7 公司内部的“阶级”是什么
大数据·人工智能