一、窗口概述

  窗口的概念:用来将无限流切分为有限流,分发到有限大小的桶中进行处理

  窗口的分类:大致分为时间窗口和计数窗口

  窗口的边界:左闭右开

  flink入门(四)——window概念和时间、水位线

 

 

 二、窗口介绍

  1.滚动时间窗口

    由固定的窗口长度控制,不会有重叠

    flink入门(四)——window概念和时间、水位线

 

 

   2.滑动时间窗口

    由窗口size和滑动距离控制,元素会有重叠,当然,步长=size的时候,将会是没有重叠的滚动时间窗口

    flink入门(四)——window概念和时间、水位线

 

    3.会话窗口

      超过一定距离,就视为一个窗口,一个会话

      flink入门(四)——window概念和时间、水位线

 三、window的使用

  1.使用入门示例:(根据参数个数可以知道是哪种类型的窗口)

  flink入门(四)——window概念和时间、水位线

   2.创建各种类型的window示例:

  flink入门(四)——window概念和时间、水位线

 

   flink入门(四)——window概念和时间、水位线

   3.窗口函数

  flink入门(四)——window概念和时间、水位线

 四、flink中的时间

  时间概念;

  flink入门(四)——window概念和时间、水位线

   在代码中设置event TIme的方法:

  flink入门(四)——window概念和时间、水位线

   当然,有时候是会出现event Time受网络等影响,出现乱序问题

  类似做班车时,到了发车时间点,却发现乘客还有一些未到齐,此时通常会有“等几分钟”的操作。这个操作对比在flink中就是通过水位线watermark,

来实现等几分钟的操作,等乱序的元素进入窗口了再“发车”!

  3.水位线的概念

  flink入门(四)——window概念和时间、水位线

 

 

     水位线的特点:

      图中示例:右边数据1来的时候,插入一个水位2,表示2以前的数据都来了,后续的watermark类似的原理

    flink入门(四)——window概念和时间、水位线

     在面对多分区时,会以水位最低的分区的watermark作为最终的watermark,类似木桶理论,以最短的为准。

    watermark代码中的实践:

    flink入门(四)——window概念和时间、水位线

 

相关文章:

  • 2021-09-06
  • 2020-11-14
  • 2021-08-07
  • 2021-06-03
  • 2022-12-23
  • 2021-11-13
  • 2021-12-01
猜你喜欢
  • 2022-12-23
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-09-22
  • 2021-12-31
相关资源
相似解决方案