注册会员
- 威望
- 27
- 贡献
- 29
- 热心值
- 0
- 金币
- 30
- 注册时间
- 2022-5-18
|
前言
1.从 Hello,World WordCount开始
1.1 flink执行环境
1.2 算子(Operator)的注册(声明)
1.3 程序的执行
1.3.1 本地模式下的execute方法
1.3.2 远程模式(RemoteEnvironment)的execute方法
1.3.3 程序启动过程
2.理解flink的图结构
2.1 flink的三层图结构
2.2 StreamGraph的生成
2.2.1 StreamTransformation类代表了流的转换
2.2.2 StreamGraph生成函数分析
2.2.3 WordCount函数的StreamGraph
2.3 JobGraph的生成
2.3.1 JobGraph生成源码
2.3.2 operator chain的逻辑
2.3.3 JobGraph的提交
2.4 ExecutionGraph的生成
3. 任务的调度与执行
3.1 计算资源的调度
3.2 JobManager执行job
3.2.1 JobManager的组件
3.2.2 JobManager的启动过程
3.2.3 JobManager启动Task
3.3 TaskManager执行task
3.3.1 TaskManager的基本组件
3.3.2 TaskManager执行Task
3.3.2.1 生成Task对象
3.3.2.2 运行Task对象
3.3.2.3 StreamTask的执行逻辑
3.4 StreamTask与StreamOperator
4. StreamOperator的抽象与实现
4.1 数据源的逻辑——StreamSource与时间模型
4.2 从数据输入到数据处理——OneInputStreamOperator &
AbstractUdfStreamOperator
4.3 StreamSink
4.4 其他算子
5. 为执行保驾护航——Fault Tolerant与保证Exactly-Once语义
5.1 Fault Tolerant演进之路
5.1.1 Storm的Record acknowledgement模式
5.1.2 Spark streaming的micro batch模式
5.1.3 Google Cloud Dataflow的事务式模型
5.1.4 Flink的分布式快照机制
5.2 checkpoint的生命周期
5.2.1 触发checkpoint
5.2.2 Task层面checkpoint的准备工作
5.2.3 操作符的状态保存及barrier传递
5.3 承载checkpoint数据的抽象:State & StateBackend
6.数据流转——Flink的数据抽象及数据交换过程
6.1 flink的数据抽象
6.1.1 MemorySegment
6.1.2 ByteBuffer与NetworkBufferPool
6.1.3 RecordWriter与Record
6.2 数据流转过程
6.2.1 整体过程
6.2.2 数据跨task传递
6.3 Credit漫谈
6.3.1 背压问题
6.3.2 使用Credit实现ATM网络流控
7.其他核心概念
7.1 EventTime时间模型
7.2 FLIP-6 部署及处理模型演进
7.2.1 现有模型不足
7.2.2 核心变更
7.2.3 Cluster Manager的架构
7.2.4 组件设计及细节
8.后记
|
|