1,driver啟動以后會先構(gòu)建SparkContext蓖救,基于常用的standealone創(chuàng)建taskscheduler
2,TaskSchedulerImpl
*? 底層通過操作一個schedulerBackend,針對不同種類的cluster(standalone,yarn,mesos)舆蝴,調(diào)度task
* 他也可以使用一個localBackend,并將isLocal參數(shù)設(shè)為true,來在本地模式下工作
* 它負(fù)責(zé)處理一些通用的邏輯石洗,比如多個job的調(diào)度
* 客戶端首先調(diào)用他的initialize()方法和start()方法幢泼,然后通過runTasks()方法提交taskSets
start方法會創(chuàng)建一個client對象負(fù)責(zé)application與spark集群通信
3,然后創(chuàng)建了DAGscheduler讲衫,然后劃分stage缕棵,提交job