Apache Flink — 用真正的引擎跑流处理
用引擎自己的输出验证水位线、状态和检查点
고급 · 课时 30 · 实验 10
课程大纲
一套集群
动态表与变更日志
- 动态表与变更日志——流式结果是不断被改写的表 reading
- 同一个 GROUP BY:批处理每键一行,流式变更日志 229 行 lab
- 测验:动态表与变更日志 quiz
事件时间与水位线
- 水位线——引擎如何判定“这个窗口现在关闭” reading
- 改变延迟,数一数被丢弃的行 lab
- 测验:事件时间、水位线与迟到行 quiz
窗口 TVF 与窗口 Top-N
- 窗口 TVF——为每行附加三个窗口列的函数 reading
- 用四种窗口 TVF 切分同一批订单 lab
- 测验:窗口 TVF 与窗口 Top-N quiz
流式连接
- 流式连接——记住什么、记多久 reading
- 用三种连接关联订单 lab
- 测验:三种流式连接 quiz
去重与 Top-N
- 去重与 Top-N——同一个 ROW_NUMBER,不同的变更日志 reading
- 去除重复并排名 lab
- 测验:去重与 Top-N quiz
状态与 TTL
- 状态存在哪里、有多少——算子、TTL 与状态后端 reading
- 从执行计划中读取状态与 TTL lab
- 测验:状态与 TTL quiz
检查点与保存点
- 检查点与保存点 — 停止后恢复为何不会重复 reading
- 停止并恢复后序号是否连续 lab
- 测验:检查点、保存点与精确一次 quiz
读懂执行计划
- 读懂执行计划 — 一条 SQL 会变成多少个任务 reading
- 读计划并算出顶点数 lab
- 测验:执行计划、算子链与两阶段聚合 quiz
模式识别 (MATCH_RECOGNIZE)
- MATCH_RECOGNIZE — 用 SQL 查找跨多行的模式 reading
- 用模式捕获暴力登录与盗卡试刷 lab
- 测验:MATCH_RECOGNIZE quiz