Skip to content

Commit

Permalink
Update 0.1 Spark Streaming 实现思路与模块概述.md
Browse files Browse the repository at this point in the history
  • Loading branch information
lw-lin committed Mar 21, 2016
1 parent 13bbab2 commit 4c1ade8
Showing 1 changed file with 5 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,11 @@ Spark Streaming 与 Spark Core 的关系可以用下面的经典部件图来表

**`JobGenerator` 维护了一个定时器**,周期就是我们刚刚提到的 batchDuration,**定时为每个 batch 生成 RDD DAG 的实例**。具体的,每次 RDD DAG 实际生成包含 5 个步骤:

- (1) **要求 `ReceiverTracker` 将目前已收到的数据进行一次 allocate**,即将上次 batch 切分后的数据切分到到本次新的 batch 里
- (2) **要求 `DStreamGraph` 复制出一套新的 RDD DAG 的实例**,具体过程是:`DStreamGraph` 将要求图里的尾 `DStream` 节点生成具体的 RDD 实例,并递归的调用尾 `DStream` 的上游 `DStream` 节点……以此遍历整个 `DStreamGraph`,遍历结束也就正好生成了 RDD DAG 的实例
- (3) **获取第 1 步 `ReceiverTracker` 分配到本 batch 的源头数据的 meta 信息**
- (4) 将第 2 步生成的本 batch 的 RDD DAG,和第 3 步获取到的 meta 信息,**一同提交给 `JobScheduler` 异步执行**
- (5) 只要提交结束(不管是否已开始异步执行),就**马上对整个系统的当前运行状态做一个 checkpoint**
- (1) **要求 `ReceiverTracker` 将目前已收到的数据进行一次 allocate**,即将上次 batch 切分后的数据切分到到本次新的 batch 里
- (2) **要求 `DStreamGraph` 复制出一套新的 RDD DAG 的实例**,具体过程是:`DStreamGraph` 将要求图里的尾 `DStream` 节点生成具体的 RDD 实例,并递归的调用尾 `DStream` 的上游 `DStream` 节点……以此遍历整个 `DStreamGraph`,遍历结束也就正好生成了 RDD DAG 的实例
- (3) **获取第 1 步 `ReceiverTracker` 分配到本 batch 的源头数据的 meta 信息**
- (4) 将第 2 步生成的本 batch 的 RDD DAG,和第 3 步获取到的 meta 信息,**一同提交给 `JobScheduler` 异步执行**
- (5) 只要提交结束(不管是否已开始异步执行),就**马上对整个系统的当前运行状态做一个 checkpoint**

上述 5 个步骤的调用关系图如下:

Expand Down

0 comments on commit 4c1ade8

Please sign in to comment.