Appearance
窗口函数
- 基于时间
- 基于数量
- ReduceFunction
- 两两合一汇总
- AggregateFunction
- 增量计算窗口函数,也只保留一个中间状态数据
- ProcessWindowFunction
- 要对窗口内的全量数据都缓存
- 能操作更底层的实现,比如直接操作状态等。
- Trigger
- 触发器(Trigger)决定了何时启动 Window Function 来处理窗口中的数据以及何时将窗口内的数据清理
- Evictor
- 清除器(Evictor)是在 WindowAssigner 和 Trigger 的基础上的一个可选选项,用来清除一些数据。我们可以在 Window Function 执行前或执行后调用 Evictor
滚动窗口
- 窗口不重叠,窗口的长度固定
滑动窗口
- 以一个步长不断向前滑动,窗口的长度固定
会话窗口
- 根据 Session Gap 切分不同的窗口;当一个窗口在大于 Session Gap 的时间内没有接收新的数据,窗口将会关闭。窗口的长度是可变的。