天天看點

《深入了解Spark:核心思想與源碼分析》——3.12節Spark環境更新

本節書摘來自華章社群《深入了解spark:核心思想與源碼分析》一書中的第3章,第3.12節spark環境更新,作者耿嘉安,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.12 spark環境更新

在sparkcontext的初始化過程中,可能對其環境造成影響,是以需要更新環境,代碼如下。

sparkcontext初始化過程中,如果設定了spark.jars屬性, spark.jars指定的jar包将由addjar方法加入httpfileserver的jardir變量指定的路徑下。spark.files指定的檔案将由addfile方法加入httpfileserver的filedir變量指定的路徑下。見代碼清單3-49。

代碼清單3-49 依賴檔案處理

postenvironmentupdate的實作見代碼清單3-51,其處理步驟如下:

1)通過調用sparkenv的方法environmentdetails最終影響環境的jvm參數、spark 屬性、系統屬性、classpath等,參見代碼清單3-52。

2)生成事件sparklistenerenvironmentupdate,并post到listenerbus,此事件被environ-mentlistener監聽,最終影響environmentpage頁面中的輸出内容。

代碼清單3-51 postenvironmentupdate的實作