加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

彻底搞明白Flink 中的 Window 机制

发布时间:2021-11-23 14:59:42 所属栏目:系统 来源:互联网
导读:一、 为什么需要Window 在流处理应用中,数据是连续不断的,有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。 在这种情况下,我们必须定义一个窗口(window),用来收集最近1分钟内的数据,并对这个窗口内的数据进行计算 二
一、 为什么需要Window
在流处理应用中,数据是连续不断的,有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。
 
在这种情况下,我们必须定义一个窗口(window),用来收集最近1分钟内的数据,并对这个窗口内的数据进行计算
 
二、Window的分类
2.1 按照time和count分类
 
time-window:时间窗口:根据时间划分窗口,如:每xx分钟统计最近xx分钟的数据
 
count-window:数量窗口:根据数量划分窗口,如:每xx个数据统计最近xx个数据
 
 
 
2.2 按照slide和size分类
 
窗口有两个重要的属性: 窗口大小size和滑动间隔slide,根据它们的大小关系可分为:
 
tumbling-window:滚动窗口:size=slide,如:每隔10s统计最近10s的数据
 
 
 
sliding-window:滑动窗口:size>slide,如:每隔5s统计最近10s数据
 
 
 
注意:当size<slide的时候,如每隔15s统计最近10s的数据,那么中间5s
 
小结
 
按照上面窗口的分类方式进行组合,可以得出如下的窗口:
 
基于时间的滚动窗口tumbling-time-window--用的较多
基于时间的滑动窗口sliding-time-window--用的较多
基于数量的滚动窗口tumbling-count-window--用的较少
基于数量的滑动窗口sliding-count-window--用的较少
注意:Flink还支持一个特殊的窗口:Session会话窗口,需要设置一个会话超时时间,如30s,则表示30s内没有数据到来,则触发上个窗口的计算

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读