• Flink-Window


    Window类型:

    滚动窗口(Tumbling Window)

      将数据依据固定的窗口长度对数据进行切分

      窗口长度固定(窗口依据时间或者数量划分),每个窗口数据没有重叠

    滑动窗口(Sliding Window)

      滑动窗口是固定窗口的更广义的一种形式,滑动窗口由固定的窗口长度和滑动步长组成

      窗口长度固定,可以有重叠(一个数据可以属于几个窗口?窗口长度/窗口步长)

     会话窗口(Session Window)

      由一系列事件组合成一个指定时间长度的timeout间隙组成,也就是一段时间没有接收到新数据就会生成新的窗口

      只基于时间分窗口(没有基于数量的窗口)

    • 时间窗口  Time Window
      • 滚动时间窗口
      • 滑动时间窗口
      • 会话窗口
    • 计数窗口  Count Window
      • 滚动计数窗口
      • 滑动计数窗口

    Window API

    窗口分配器----window方法

    我们可以用.window来定义一个窗口,然后基于这个window去做一个聚合或者其它处理操作。注意window方法必须在keyBy之后才能用

    Flink提供了更简单的timeWindow和countWindow方法,用于定义时间窗口和计数窗口。

    keyBy对数据进行分组,窗口分配器对分组后的数据进行分桶(数据要给哪个窗口),分桶后的数据调用窗口函数做计算操作。

    window()方法接受的输入参数是一个WindowAssigner

    WindowAssigner负责将每条输入的数据分发到正确的window中

    Flink提供了通用的WindowAssigner

    滚动窗口(Tumbling window)

    滑动窗口(Sliding window)

    会话窗口(Session window)

    全局窗口(Global window)

    窗口函数(Window function)

    window function定义了要对窗口中收集的数据做的计算操作。

    可以分为两类:

      增量聚合函数

        每条数据到来就进行计算,保持一个简单的状态

        

      全窗口函数

        先把窗口所有数据收集起来,等到计算的时候会遍历所有数据(统计百分比)

  • 相关阅读:
    Yarn安装与配置
    如何找到所有 HTML select 标签的选中项
    Jquery 获取某个样式除第一个以外的元素
    常用的字符串截取方法
    App的埋点测试
    手写 promise
    关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
    计算一个数组的深度
    数组的 交集 差集 补集 并集
    webpack -- element-ui 的按需引入
  • 原文地址:https://www.cnblogs.com/Rabcheng/p/14152551.html
Copyright © 2020-2023  润新知