更新时间:2022-12-20 18:55:49
封面
版权信息
版权
内容提要
序一
序二
前言
资源与支持
第一部分 设计思想篇
第1章 序篇
1.1 Flink的诞生与发展
1.2 Flink的应用场景
1.3 Flink的核心特性与架构
1.4 准备工作
1.5 总结
第2章 Flink编程
2.1 API层级
2.2 DataStream API
2.3 DataSet API
2.4 Table API
2.5 SQL
2.6 总结
第3章 Flink API层的实现原理
3.1 DataStream API
3.2 DataSet API
3.3 Table API和SQL
3.4 总结
第4章 Flink的执行图
4.1 StreamGraph的生成
4.2 Plan的生成
4.3 从StreamGraph到JobGraph
4.4 从Plan到JobGraph
4.5 从JobGraph到ExecutionGraph
4.6 总结
第5章 Flink的运行时架构
5.1 客户端代码的运行
5.2 高可用相关组件
5.3 派发器的初始化与启动
5.4 资源管理器的初始化与启动
5.5 TaskExecutor的初始化与启动
5.6 JobMaster的初始化与启动
5.7 总结
第6章 任务调度
6.1 调度器
6.2 调度拓扑
6.3 调度策略
6.4 调度过程的实现
6.5 任务的部署
6.6 Execution对象在调度过程中的行为
6.7 总结
第7章 任务的生命周期
7.1 任务的提交
7.2 任务的初始化
7.3 任务的执行
7.4 总结
第8章 数据传输
8.1 基本概念与设计思想
8.2 数据的输出
8.3 数据的读取
8.4 反压机制的原理
8.5 总结
第9章 时间与窗口
9.1 基本概念和设计思想
9.2 WindowedStream
9.3 窗口相关模型的实现
9.4 WindowOperator
9.5 水位线
9.6 定时器
9.7 总结
第10章 状态与容错
10.1 基本概念与设计思想
10.2 状态存储
10.3 状态恢复
10.4 状态的重分配策略
10.5 总结
第二部分 特性开发篇
第11章 动态调整并行度
11.1 模型设计
11.2 指标收集
11.3 指标管理
11.4 总结
第12章 自适应查询执行
12.1 Flink框架下的自适应查询执行
12.2 统计信息的收集
12.3 执行图与调度拓扑的修改
12.4 上下游关系的建立
12.5 总结
第13章 Flink Sort-Merge Shuffle
13.1 混洗机制的对比
13.2 Flink混洗机制
13.3 Blink混洗的数据流转
13.4 Blink混洗的Sort-Merge过程
13.5 文件的读取和元信息管理
13.6 总结
第14章 修改检查点的状态
14.1 状态修改的原理
14.2 状态处理器API
14.3 总结
附录A 资源管理
A.1 TaskSlot与TaskSlotTable