|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《透过源码看懂Flink核心框架的执行流程》
3 M+ J6 g4 _8 N0 ~. B. t( A- U r( ?# Z! |
% G* W0 \+ O" A$ |; g! }
4 o2 z7 l: V2 _( Y4 i6 h! yjava电子书目录:1.从 Hello,World WordCount开始
Q# m: @6 ]; k6 v" c1.1 flink执行环境! [1 E9 y0 d9 D5 J3 k% T8 w j
1.2 算子(Operator)的注册(声明)
, E7 h$ P6 z; \2 h4 B1.3 程序的执行
* ^3 ]% I5 O. A4 n( @0 c) [1.3.1 本地模式下的execute方法
- p" j7 h% e$ ^6 W; E1.3.2 远程模式(RemoteEnvironment)的execute方法
* o4 V/ j7 S( l2 t; o( n( u& Y1.3.3 程序启动过程
9 v5 S: ^) E3 D2 ]6 F, G2.理解flink的图结构
8 e" |# k- h5 {1 ?; [) [2.1 flink的三层图结构4 H9 R0 O# C6 d2 b& N# |* e' [" y
2.2 StreamGraph的生成
) K* S8 r) v' y. I( `2.2.1 StreamTransformation类代表了流的转换2 o7 o4 ~/ \ S. c! P6 b
2.2.2 StreamGraph生成函数分析& o5 C" l! T' H+ F% u) W* l
2.2.3 WordCount函数的StreamGraph
* `( l+ M! [8 C: o+ V$ N2.3 JobGraph的生成' X# E) _/ L, x. }" j
2.3.1 JobGraph生成源码9 L% H2 [/ B& d, I1 |" A
2.3.2 operator chain的逻辑
; G) d* Q$ H, h1 l# t2.3.3 JobGraph的提交
z1 N; D# n. h6 r' G6 S7 T2.4 ExecutionGraph的生成9 T1 q) Y4 I5 Z* C7 V
3. 任务的调度与执行
, b1 `" o' ^( ^* l* {3.1 计算资源的调度# ]2 X$ [& t; G; `. K4 X' v" o6 V
3.2 JobManager执行job
7 X- v! l) t. b [0 b! ~3.2.1 JobManager的组件
; |5 V% J: W$ g- n. [; }8 {3.2.2 JobManager的启动过程+ L( E) p2 ]7 Q: H- o4 [! ?
3.2.3 JobManager启动Task
- b7 S6 o+ H, q) i- [+ l4 J9 z3.3 TaskManager执行task
: v$ |3 p$ r! P* y3.3.1 TaskManager的基本组件
) S4 i' i& E# y- y3.3.2 TaskManager执行Task
9 R$ u. v4 G4 C3 `! R8 O( N3 w3.3.2.1 生成Task对象! `( S. L$ _( o& G/ l
3.3.2.2 运行Task对象
7 X6 a8 S; s) ^+ p3.3.2.3 StreamTask的执行逻辑+ `: d5 y8 E3 k5 O- O
3.4 StreamTask与StreamOperator* d% t; [ B8 \+ I; w
4. StreamOperator的抽象与实现. X- C" X# A' `4 _8 v
4.1 数据源的逻辑——StreamSource与时间模型% D1 j" E' N" a2 g n& K8 l/ z
4.2 从数据输入到数据处理——OneInputStreamOperator &
! c _) b0 f: @7 KAbstractUdfStreamOperator+ p2 q; p6 v4 n( C2 A4 E
4.3 StreamSink; Q6 d |& Y5 V4 w
4.4 其他算子
; t4 U+ J F% V- Q; T3 z" M/ l5. 为执行保驾护航——Fault Tolerant与保证Exactly-Once语义+ X' p. |& _' G; v* q
5.1 Fault Tolerant演进之路
9 @6 b1 m. p3 I% u5.1.1 Storm的Record acknowledgement模式
. x6 i# D* @& V' N. p8 z5.1.2 Spark streaming的micro batch模式
# T( z+ s1 y) L+ B( x _* E- ?5.1.3 Google Cloud Dataflow的事务式模型
# Z) i$ e7 b/ q9 F! `5.1.4 Flink的分布式快照机制
$ w1 x6 X5 z* @ z& h, m* X5.2 checkpoint的生命周期
. k% t* z% T4 q/ O5.2.1 触发checkpoint
+ D- s2 g9 [# P+ W5.2.2 Task层面checkpoint的准备工作
' M6 C( u6 E0 x% e7 V) s: y5.2.3 操作符的状态保存及barrier传递; _& u9 b3 e4 j+ d* D# N
5.3 承载checkpoint数据的抽象:State & StateBackend
4 m/ e* i% g2 S( N6.数据流转——Flink的数据抽象及数据交换过程8 s( Q/ Y. o1 |9 h0 y0 q8 A& G
6.1 flink的数据抽象- A; O7 }2 j9 _0 U# O8 P! }
6.1.1 MemorySegment
" W- v J, u1 N6.1.2 ByteBuffer与NetworkBufferPool- @/ X9 X; m- V' V
6.1.3 RecordWriter与Record
. }) Y4 w% v1 ~# {* u6.2 数据流转过程' A+ M0 H$ ^/ E' l' e- N
6.2.1 整体过程) M$ f* s' P \. p6 i- j2 D" Z* O
6.2.2 数据跨task传递
$ l5 Y( b3 ]" Z6.3 Credit漫谈
$ v* Z" x& N* z6.3.1 背压问题
. Q2 B- D8 {) l, ]6.3.2 使用Credit实现ATM网络流控% g* ^* q- o4 I3 F( C9 P6 g+ b7 K3 U: W
7.其他核心概念
. L, q: R* O8 p/ s$ }7.1 EventTime时间模型
3 R* ~. o! Z7 ]4 Z7 }6 U7.2 FLIP-6 部署及处理模型演进
( Z6 U! C# r$ z @7.2.1 现有模型不足9 ?6 V) \* a! N8 s, g# D; ~( [5 I
7.2.2 核心变更
5 A6 Z8 ^8 N: f6 b. [+ N7.2.3 Cluster Manager的架构
4 h) a' J0 {% s. D% I; P7.2.4 组件设计及细节" X K% y3 N% K. i3 s
8.后记 3 R3 @* o7 o+ I$ v! S% B! X6 M3 J
7 Z5 b* D l) g/ l6 F0 x" w8 C
2 \1 ]7 t0 t1 f! E
Java资料百度网盘下载地址链接(百度云):透过源码看懂Flink核心框架的执行流程.pdf【密码回帖可见】7 E; W" I, Q1 _
) y. g$ U2 ~5 T8 o) @: C" r
$ m% h x3 f4 q+ M
3 m& n. r9 k7 {; T. M3 _- D: X; I) Z& K) m: _! t: o, N1 U$ B h
& ?6 }5 t6 X7 M! @; Q; k
" ^1 x& l6 ?; @* V& X3 R% k
- D, F: [/ R; C |
|