登录    关于
马育民老师的博客

马育民的博客

QQ:65242847

flink1.12.x window function窗口函数(增量、全量、全窗口)

说明

一个完整的窗口操作,要指定 window ,还要指定 function

function 表示最终的目的,比如:

  • 找出这个窗口中的最大值
    .window(...)
    .max(1); // 窗口函数
    
  • 统计这个窗口中的和
    .window(...)
    .sum(1); // 窗口函数
    

分类

  • 增量聚合函数(incremental aggregation functions)

  • 全窗口函数(ful window functions)

增量聚合函数

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

ReduceFunction

将传入的两个元素,并返回同类型的元素,常用分组数据处理

flink已经提供 常见的 统计 求和最大值 等,所以这类函数 一般不需要自己实现

AggregateFunction

ReduceFunction 的通用版本

全窗口函数

先把窗口 所有数据收集起来,等到计算的时候会遍历所有数据

如:

  • ProcessWindowFunction
  • WindowFunction

应用场景

找到 中位数1/4 位数


原文出处:https://malaoshi.top/show_1IX22Z8dErVL.html