Flink中的窗口用于将无界数据流切割成有界块进行计算。下面编程教程网小编给大家简单介绍一下几种主要类型的窗口。
Flink窗口介绍:
滑动窗口:固定大小的窗口,按照固定的滑动间隔滑动。
DataStream windowedStream = inputStream.window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)));
滑动跨度窗口:按时间间隔生成窗口。
DataStream windowedStream = inputStream.window(SlidingEventTimeWindows.of(Time.seconds(10)));
会话窗口:按会话活跃时间生成窗口,窗口间有一定的不活跃期。
DataStream windowedStream = inputStream.window(EventTimeSessionWindows.withGap(Time.minutes(10)));
全局窗口:将整个数据流视为一个窗口。
DataStream windowedStream = inputStream.window(GlobalWindows.create());
这些窗口之间的主要区别是:
1、窗口大小:滑动窗口和滑动跨度窗口的大小可以配置,会话窗口的大小不确定。
2、生成规则:根据记录数生成滑动窗口,根据时间生成滑动跨度窗口,根据非活动时间生成会话窗口。
3、重叠:滑动窗口可以重叠,但会话窗口和全局窗口不能重叠。
4、使用场景:滑动窗口用于近期聚合,会话窗口用于用户行为分析,全局窗口用于整体统计。
沃梦达教程
本文标题为:Flink窗口有哪些类型介绍?


猜你喜欢
- JavaScript更改class和id的方法 2024-02-25
- jquery输入数字随机抽奖特效的简单实现代码 2024-02-06
- css实现元素垂直居中显示的7种方式 2024-01-06
- HTML申请注册表练习 2023-10-27
- 详解css3 Transition属性(平滑过渡菜单栏案例) 2024-01-04
- Ajax实现省市区三级级联(数据来自mysql数据库) 2023-01-21
- 页面定时刷新(1秒刷新一次) 2023-12-26
- 向fckeditor编辑器插入指定代码的方法 2023-12-01
- vue获取今天、本周、本月、全年的区间时间 2024-12-07
- vue-cli 卸载版本及安装指定版本的命令 2023-10-08