这是我参与「第四届青训营 」笔记创作活动的第4天,在第四节课中主要了解到了流计算中的Window机制。
概述
- 流式计算VS批式计算
- 批式计算一般是T+1的数仓架构
- 数据实时性越高,数据的价值越高
- 实时计算分为处理时间和事件时间
- 事件时间需要Watermark配合来处理乱序
Watermark
- 含义:表示系统认为的当前真实时间
- 生成:可以通过Watermark Generator来生成
- 传递:取上游所有subtask的最小值
- 部分数据断流:Idle Source
- 迟到数据处理:Window算子是丢弃;Join算子认为跟之前的数据无法Join到
Window
基本功能
- Window分类:滚动窗口,滑动窗口,会话窗口
- 迟到数据处理:AllowLateness、SideOutput
- 增量计算和全量计算模型
- EMIT触发提前输出窗口的结果
高级优化
- Mini-batch优化解决频繁访问状态的问题
- local-global优化解决倾斜问题
- Distinct状态复用降低状态量
- Pane优化降低滑动窗口的状态存储量