Spark Streaming源码分析 – JobScheduler

先给出一个job从被generate到被执行的整个过程
在JobGenerator中,需要定时的发起GenerateJobs事件,而每个job其实就是针对DStream中的一个RDD,发起一个SparkContext.runJob,通过对DStream中每个RDD都runJob来模拟流处理

Spark Streaming源码分析 – JobScheduler

再看个outputStream的具体实现

saveAsTextFiles

Spark Streaming源码分析 – JobScheduler

最后,再强调一下RDD中执行中如果从InputDStream取到数据的,就全打通了
就再看看NetworkInputDStream.compute是如何最终获取数据的

Spark Streaming源码分析 – JobScheduler

 

JobScheduler
SparkStreaming的主控线程,用于初始化和启动,JobGenerator和NetworkInputTracker
分别用于,产生并定时提交job,和从InputDStream不断读取数据

Spark Streaming源码分析 – JobScheduler


JobGenerator

Spark Streaming源码分析 – JobScheduler

 

DStreamGraph
用于track job中的inputStreams和outputStreams,并做为DStream workflow对外的接口
最关键的接口是generateJobs

Spark Streaming源码分析 – JobScheduler

你可能感兴趣的:(scheduler)