ITPub博客

首页 > 数据库 > 数据库开发技术 > Flink 四大基石之—Window基础知识点介绍

Flink 四大基石之—Window基础知识点介绍

原创 数据库开发技术 作者:3分钟秒懂大数据 时间:2021-07-03 21:36:02 0 删除 编辑

关注并标星 3分钟秒懂大数据

每天1次,打卡阅读

更快更全面获取大数据技术博客


上篇文章讲解了时间和水印的知识点,链接如下:Flink 四大基石之时间和水位线原理介绍,本文将介绍window 基础知识点

Window概念和划分机制

窗口概念:将无界流的数据,按时间区间,划分成多份数据,分别进行统计(聚合)


Flink支持两种划分窗口的方式(time和count),第一种,按时间驱动进行划分、另一种按数据驱动进行划分。

1、按时间驱动Time Window 划分可以分为 滚动窗口 Tumbling Window 和滑动窗口 Sliding Window。

2、按数据驱动Count Window也可以划分为滚动窗口 Tumbling Window 和滑动窗口 Sliding Window。

3、Flink支持窗口的两个重要属性(窗口长度size和滑动间隔interval),通过窗口长度和滑动间隔来区分滚动窗口和滑动窗口。

如果size=interval,那么就会形成tumbling-window(无重叠数据)--滚动窗口

如果size(1min)>interval(30s),那么就会形成sliding-window(有重叠数据)--滑动窗口

通过组合可以得出四种基本窗口:

(1)time-tumbling-window 无重叠数据的时间窗口,设置方式举例:timeWindow(Time.seconds(5))---基于时间的滚动窗口


(2)time-sliding-window  有重叠数据的时间窗口,设置方式举例:timeWindow(Time.seconds(10), Time.seconds(5))---基于时间的滑动窗口

(3)count-tumbling-window无重叠数据的数量窗口,设置方式举例:countWindow(5)---基于数量的滚动窗口

(4)count-sliding-window 有重叠数据的数量窗口,设置方式举例:countWindow(10,5)---基于数量的滑动窗口

Flink中还支持一个特殊的窗口:会话窗口SessionWindows

session窗口分配器通过session活动来对元素进行分组,session窗口跟滚动窗口和滑动窗口相比,不会有重叠和固定的开始时间和结束时间的情况

session窗口在一个固定的时间周期内不再收到元素,即非活动间隔产生,那个这个窗口就会关闭。

一个session窗口通过一个session间隔来配置,这个session间隔定义了非活跃周期的长度,当这个非活跃周期产生,那么当前的session将关闭并且后续的元素将被分配到新的session窗口中去,如下图所示:

以上就是Flink——window基础知识的讲解内容!觉得好的,点赞,在看,分享三连击,谢谢!!!

End




往期精彩



Flink 四大基石之时间和水位线原理介绍!

Flink SQL 1.13—CDC 实践与一致性分析

Flink SQL CDC + JDBC Sink Connector 如何保证一致性!


点个在看你最好看


原文作者:3分钟秒懂大数据;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-06-15

  • 博文量
    98
  • 访问量
    42101