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

关于状态大小的考量

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

  • Flink 会为一个元素在它所属的每一个窗口中都创建一个副本。 因此,一个元素在滚动窗口的设置中只会存在一个副本(一个元素仅属于一个窗口,除非它迟到了)。 与之相反,一个元素可能会被拷贝到多个滑动窗口中,因此设置一个大小为一天、滑动距离为一秒的滑动窗口可能不是个好想法。
  • ReduceFunctionAggregateFunction 可以极大地减少储存需求,因为他们会就地聚合到达的元素, 且每个窗口仅储存一个值,而使用 ProcessWindowFunction 需要累积窗口中所有的元素。
  • 使用 Evictor 可以避免预聚合, 因为窗口中的所有数据必须先经过 evictor 才能进行计算。
相关推荐
Jackeyzhe1 小时前
Flink学习笔记:时间与Watermark
flink
wang_yb3 小时前
数据会说谎?三大推断方法帮你“审问”数据真相
大数据·databook
天远数科4 小时前
Golang并发实战:高效对接天远API实现海量用户画像构建
大数据·api
expect7g4 小时前
Paimon源码解读 -- Compaction-2.KeyValueFileWriterFactory
大数据·后端·flink
第二只羽毛5 小时前
C++ 高性能编程要点
大数据·开发语言·c++·算法
jason成都6 小时前
elasticsearch部署时创建用户密码
大数据·elasticsearch·jenkins
新华经济6 小时前
合同管理系统2025深度测评:甄零科技居榜首
大数据·人工智能·科技
黑客思维者7 小时前
招商银行信用卡AI客服系统:从0到1实战笔记
大数据·人工智能·笔记
醇氧8 小时前
【git】 撤回一个本地提交
大数据·git·elasticsearch
Elastic 中国社区官方博客8 小时前
Elasticsearch:数据脱节如何破坏现代调查
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索