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

关于状态大小的考量

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

  • Flink 会为一个元素在它所属的每一个窗口中都创建一个副本。 因此,一个元素在滚动窗口的设置中只会存在一个副本(一个元素仅属于一个窗口,除非它迟到了)。 与之相反,一个元素可能会被拷贝到多个滑动窗口中,因此设置一个大小为一天、滑动距离为一秒的滑动窗口可能不是个好想法。
  • ReduceFunctionAggregateFunction 可以极大地减少储存需求,因为他们会就地聚合到达的元素, 且每个窗口仅储存一个值,而使用 ProcessWindowFunction 需要累积窗口中所有的元素。
  • 使用 Evictor 可以避免预聚合, 因为窗口中的所有数据必须先经过 evictor 才能进行计算。
相关推荐
专注数据的痴汉13 小时前
「数据获取」《中国商务年鉴》(2004-2024)
大数据·人工智能·信息可视化
一只小青团13 小时前
Hadoop之javaAPI写HDFS的shell命令
大数据·hadoop·分布式
天下无敌笨笨熊13 小时前
ES作为向量库研究
大数据·python·elasticsearch
Hello.Reader14 小时前
Flink CDC 用 SqlServer CDC 实时同步数据到 Elasticsearch
elasticsearch·sqlserver·flink
paperxie_xiexuo16 小时前
如何用自然语言生成科研图表?深度体验PaperXie AI科研绘图模块在流程图、机制图与结构图场景下的实际应用效果
大数据·人工智能·流程图·大学生
旗讯数字18 小时前
旗讯 OCR 技术解析:金融行业手写表格识别方案与系统集成实践
大数据·金融·ocr
2501_941404311 天前
绿色科技与可持续发展:科技如何推动环境保护与资源管理
大数据·人工智能