这是我参与「第四届青训营」笔记创作的第4天
流式计算中的Windows机制
- 概述
- 批处理:批处理模型的典型数仓架构:T+1架构
- 小时级批计算
- 处理时间窗口:实时计算:处理时间窗口(数据实时流动,实时计算,窗口结束直接发送结果,不需要周期调度任务)
- 处理时间VS事件时间(数据产生时间)
- 事件时间窗口
- Watermark
- 表示系统认为的当前真实的事件时间
- 数据存在乱序的时候尤其重要!
- Watermark的传递方法
- 通过Flink UI观察Watermark
- 典型问题:per-partition VS per-per-subtask watermark
- 部分partition/subtask断流:Idle Source
- 迟到数据处理:Window 算子是丢弃; Join算子认为跟之前的数据无法join到
- Window
- 基本功能:window分类:滚动窗口,滑动窗口,会话窗口……
- -滚动窗口:每个key单独划分,每条数据只会属于一个窗口;Window结束时间到达的时候一次性触发
- 滑动窗口:每个key单独划分,每条数据可能属于多个窗口;Window结束时间到达的时候一次性出发
- 会话窗口:每个key单独划分,每条数据会单独划分为一个窗口,如果window之间有交集,则会对窗口进行merge;Window结束时间到达的时候一次性触发
- 迟到数据处理:
-
- Allow lateness
-
- SideOutput
- 增量计算&全量计算
- EMIT触发:在datastream钟自定义trigger
- 高级优化
- Mini-batch优化
- 倾斜优化-local-global
- Distinct计算状态复用
- Pane优化
- 案例分析
- 计算抖音的日活曲线
- 计算大数据任务的资源使用