Spark Streaming checkpoint整体架构原理

Spark Streaming checkpoint整体架构原理_第1张图片

StreamingContext会初始化一些内部的关键组件:DstreamGraph/ReceiverTraker/JobGenerator/JobScheduler

DstreamGraph:表示各个Dstream之间的依赖关系。

JobGenerator:根据DstreamGraph定义的算子和各个Dstream之间的依赖关系去生成一个job,job的初始RDD,就是刚创建的batch对应的RDD,然后通过JobScheduler提交job。每隔定义的batch间隔,就会去ReceiverTracker中获取一次时间间隔内的数据信息,然后将数据创建为一个RDD。

JobScheduler:调度job,底层走的逻辑,跟离线job一样。

1. StreamingContext.start()方法调用的时候,就会去Spark集群中的某个worker的Executor上启动输入Dstream的Receiver。

2. Receiver存数据源比如kafka中拉取数据。

3. 拉取的数据首先被保存到它所运行的Executor关联的BlockManager中。

4. 除了保存数据到BlockManager中,还会发送一份数据信息到ReceiverTracker中。

你可能感兴趣的:(Spark,Streaming)