Flink 窗口函数
2023-09-02 10:08:28 5 举报
Flink 窗口函数
作者其他创作
大纲/内容
Tumbling-->滚动无重叠 无丢失
ProcessingTimeSessionWindows.withGap(x)处理时间是输入第一个数据的时候开始计算产生数据的间隔超过定义的时间则分割计算
No-KeyBy
SlidingProcessingTimeWindows.of(x)
时间间隔是系统分割的时间算 不是以当前时间为准
定义将无界流的数据转化成有界流的数据进行计算窗口-->就是flink处理无界流--有界流的桥梁底层:窗口将无界流拆分多个大小不定的桶 然后计算
事件时间需要从数据里提取时间如果数据里面没有时间就会报错
font color=\"#323232\
1.配置环境2.定义数据源3.转换4.分组5.创建全球窗口:.window(GlobalWindows.create)6.定义触发器:Tigger(PurgingTigger.of(CountTigger.of(xx)))7.聚合 打印 执行
Count Windw
Tumbling
Session
解决水位线
1.配置环境2.定义数据源3.转换4.创建全球窗口:windowAll(GlobalWindows.create)5.定义触发器:Tigger(PurgingTigger.of(CountTigger.of(xx)))6.聚合 打印 执行
sliding
窗口函数
Sliding-->滑动两个参数:窗口大小size 步长sidesize 大于 side:数据会重叠size 小于 side:数据丢失size 等于 side:做一个滚动
Global Window
Time Window
需KeyBy
全局窗口 简单理解就是自定义窗口 包含前面两个需要自己定义tigger触发器 慎用 自定义触发器操作不流畅数据会一直留在内存中
KeyBy
窗口分类基于时间驱动:到一定时间计算 时间窗口基于数量驱动:到一定数量计算 统计窗口
先分组:keybyspan style=\
将所有数据放在一个窗口计算
处理时间
分组分组:每个组达到要求才能显示不分组:只有一条主流 主流达到要求进行显示
0 条评论
下一页