天天看點

《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試

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

1.4 spark源碼編譯與調試

1.下載下傳spark源碼

《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試

2.建構scala應用

使用cmd指令行進到spark根目錄,執行sbt指令。會下載下傳和解析很多jar包,要等很長時間,筆者大概花了一個多小時才執行完。

3.使用sbt生成eclipse工程檔案

等sbt提示符(>)出現後,輸入eclipse指令,開始生成eclipse工程檔案,也需要花費很長時間,筆者本地大緻花了40分鐘。完成時的狀況如圖1-21所示。

《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試

4.編譯spark源碼

由于spark使用maven作為項目管理工具,是以需要将spark項目作為maven項目導入eclipse中,如圖1-23所示。

單擊next按鈕進入下一個對話框,如圖1-24所示。

《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試
《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試

單擊add external jars按鈕,将spark項目下的lib_managed檔案夾的子檔案夾bundles和jars内的jar包添加進來。

lib_managed/jars檔案夾下有很多打好的spark的包,比如:spark-catalyst_2.10-1.3.2-snapshot.jar。這些jar包有可能與你下載下傳的spark源碼的版本不一緻,導緻你在調試源碼時,發生jar包沖突。是以請将它們排除出去。

eclipse在對項目編譯時,筆者本地出現了很多錯誤,有關這些錯誤的解決建議參見附錄h。所有錯誤解決後運作mvn clean install,如圖1-27所示。

5.調試spark源碼

以spark源碼自帶的javawordcount為例,介紹如何調試spark源碼。右擊javaword-count.java,選擇“debug as”→“java application”即可。如果想修改配置參數,右擊javawordcount.java,選擇“debug as”→“debug configurations…”,從打開的對話框中選擇javawordcount,在右側标簽可以修改java執行參數、jre、classpath、環境變量等配置,如圖1-28所示。

讀者也可以在spark源碼中設定斷點,進行跟蹤調試。

《深入了解Spark:核心思想與源碼分析》——1.4節Spark源碼編譯與調試

繼續閱讀