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

关于状态大小的考量

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

  • Flink 会为一个元素在它所属的每一个窗口中都创建一个副本。 因此,一个元素在滚动窗口的设置中只会存在一个副本(一个元素仅属于一个窗口,除非它迟到了)。 与之相反,一个元素可能会被拷贝到多个滑动窗口中,因此设置一个大小为一天、滑动距离为一秒的滑动窗口可能不是个好想法。
  • ReduceFunctionAggregateFunction 可以极大地减少储存需求,因为他们会就地聚合到达的元素, 且每个窗口仅储存一个值,而使用 ProcessWindowFunction 需要累积窗口中所有的元素。
  • 使用 Evictor 可以避免预聚合, 因为窗口中的所有数据必须先经过 evictor 才能进行计算。
相关推荐
搞程序的心海39 分钟前
用Scala玩转Flink:从零构建实时处理系统
开发语言·flink·scala
互联网之声2 小时前
“清凉海岛·创享一夏” 海南启动旅游线路产品创意设计大赛
大数据·网络·旅游
码界筑梦坊3 小时前
基于Spark的酒店数据分析系统
大数据·分布式·python·信息可视化·spark·毕业设计·个性化推荐
码界筑梦坊3 小时前
基于大数据的美团外卖数据可视化分析系统
大数据·python·信息可视化
和尚用0飘柔03 小时前
【中间件】使用ElasticSearch提供的RestClientAPI操作ES
大数据·elasticsearch·中间件
钡铼技术物联网关4 小时前
ARM架构+CODESYS:解锁嵌入式边缘计算的实时控制新范式
大数据·linux·arm开发·人工智能·边缘计算
码界筑梦坊6 小时前
基于Spark的招聘数据预测分析推荐系统
大数据·分布式·python·信息可视化·spark·毕业设计
喻师傅6 小时前
横扫SQL面试——PV、UV问题
大数据·数据库·sql·面试·数据分析·uv
煤烦恼7 小时前
scala类与集合
java·大数据·开发语言·人工智能·scala
黄雪超12 小时前
Flink介绍——实时计算核心论文之S4论文总结
大数据·论文阅读·flink