文章目录
01 引言
- 01 引言
- 02 Window
- 2.1 为什么需要Window?
- 2.2 Window分类
- 2.2.1 按照time和count分类
- 2.2.2 按照slide和size分类
- 2.2.3 总结
- 2.3 Window API
- 2.3.1 window和windowAll
- 2.3.2 WindowAssigner
- 2.3.3 evictor
- 2.3.4 trigger
- 2.3.5 API调用示例
- 03 Window案例演示
- 3.1 基于时间的滚动和滑动窗口
- 3.2 基于数量的滚动和滑动窗口
- 3.3 会话窗口
- 04 文末
在前面的博客,我们已经对Flink
批流一体API
的使用有了一定的了解了,有兴趣的同学可以参阅下:
- 《Flink教程(01)- Flink知识图谱》
- 《Flink教程(02)- Flink入门》
- 《Flink教程(03)- Flink环境搭建》
- 《Flink教程(04)- Flink入门案例》
- 《Flink教程(05)- Flink原理简单分析》
- 《Flink教程(06)- Flink批流一体API(Source示例)》
- 《Flink教程(07)- Flink批流一体API(Transformation示例)》
- 《Flink教程(08)- Flink批流一体API(Sink示例)》
- 《Flink教程(09)- Flink批流一体API(Connectors示例)》
- 《Flink教程(10)- Flink批流一体API(其它)》
在前面的教程,我们知道Flink
的四大基石十分重要,如下图,本文先讲解下Window
:
流计算中一般在对流数据进行操作之前都会先进行开窗,即基于一个什么样的窗口上做这个计算,Flink提供了开箱即用的各种窗口,比如滑动窗口、滚动窗口、会话窗口以及非常灵活的自定义的窗口。
2.1 为什么需要Window?在流处理应用中,数据是连续不断的,有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。
在这种情况下,我们必须定义一个窗口(window
),用来收集最近1分钟内的数据,并对这个窗口内的数据进行计算。
- 时间窗口(time-window) :根据时间划分窗口,如:每xx分钟统计最近xx分钟的数据
- 数量窗口(count-window):根据数量划分窗口,如:每xx个数据统计最近xx个数据
窗口有两个重要的属性,窗口大小size
和滑动间隔slide
,根据它们的大小关系可分为:
- 滚动窗口(tumbling-window):
size=slide
,比如: 每隔10s统计最近10s的数据 - 滑动窗口(sliding-window):
size>slide
,比如:每隔5s统计最近10s的数据
注意:当size
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?