彻底搞明白Flink 中的 Window 机制
发布时间:2021-11-23 14:36 所属栏目:52 来源:互联网
导读:一、 为什么需要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内没有数据到来,则触发上个窗口的计算 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读