本節書摘來自華章社群《深入了解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的實作