Spark Streaming 作业调度流程

StreamingContext在实例化时候会创建DStreamGraph、JobGenerator、JobScheduler

下面组件运行在Driver
1.JobGenerator:
通过timmer根据固定时间间隔(Batch Interval)不断的产生Job
(其实此时的Job相当于java的Runnable类型实例),Job会提交给JobScheduler
2.JobScheduler:
接收到Job后会通过线程池的方式提交给SparkCluster执行
3.ReceiverTracker:

下面组件运行在Executor
3.KafkaReceiver:
根据设定的Batch Interval不断的通过(多)线程 获取kafka中的数据,然后通过BlockManager存储到Executor,为了数据安全,采用WAL(writer ahead log)

你可能感兴趣的:(Spark技术研究)