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


    一、窗口概述

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

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

      窗口的边界:左闭右开

      

     二、窗口介绍

      1.滚动时间窗口

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

        

       2.滑动时间窗口

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

        

        3.会话窗口

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

          

     三、window的使用

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

      

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

      

       

       3.窗口函数

      

     四、flink中的时间

      时间概念;

      

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

      

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

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

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

      3.水位线的概念

      

         水位线的特点:

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

        

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

        watermark代码中的实践:

        

  • 相关阅读:
    01Tensorflow学习之Tensorflow基本介绍
    C#四舍五入说明
    3类与对象——重拾Java
    1Java语言概述——重拾Java
    Android 字体效果
    Python相关资料收集
    2013.11.23思科研发中心面试
    【转】理解同步与异步
    OpenCV中的SURF算法介绍
    OpenCV中Kinect的使用(3)
  • 原文地址:https://www.cnblogs.com/jiangbei/p/13913096.html
Copyright © 2020-2023  润新知