Spark 原始碼分析之spark submit

2021-08-20 16:50:54 字數 885 閱讀 7087

在客戶端執行指令碼sbin/spark-submit的時候,通過cat命令檢視原始碼可以看出,實際上在原始碼中將會執行bin/spark-class org.apache.spark.deploy.sparksubmit 。

在idea匯入的spark-core的原始碼進行分析。

首先spark會把初始化的引數使用sparksubmitarguments進行封裝,之後對sparksubmitaction型別進行模式匹配,一共有三種:1.submit 2. kill 3. request_status。

其中,submit就是匹配到用於怎麼提交任務的方法submit(),提交任務都要先進行反序列化,所以submit()方法會先獲取到反向**,之後開啟執行緒,解析到入口類的main方法並執行。

runmain()中,通過傳入的遠端**物件,拿到入口類mainclass,獲取main方法,並通過invoke()執行

Spark 原始碼分析之SparkContext

saprkcontext非常重要,是spark提交任務到集群的入口 sparkcontext中沒有main方法,在sparkcontext主構造器中,主要做一下四件事情 1.呼叫createsparkenv 建立sparkenv,sparkenv中能夠得到actorsystem物件,用於建立acto...

Spark原始碼分析 Spark整體架構

術語 描述使用者編寫的程式。driver端的sparkcontext sparkconf和執行在executors上使用者編寫的業務邏輯 即map reduce reducebykey等 driver 執行使用者編寫應用程式的main 方法並建立sparkcontext worker 具體執行應用程...

spark原始碼之TaskScheduler解讀

1 spark任務的真正的執行時由action運算元進行乙個觸發,最終呼叫sc.runjob方法,在driver端會初始化2個重要的組建dagscheduler和taskscheduler,a taskscheduler的主要職責 a.1負責將dagscheduler傳送過來的的taskset放入到...