Spark原始碼編譯與匯入IDEA除錯

仲德明發表於2018-08-16

最近閒來,下載了spark原始碼編譯除錯一下,看看最新的東西。。。

一、下載原始碼

地址:http://spark.apache.org/downloads.html   

選擇原始碼包下載 https://archive.apache.org/dist/spark/spark-2.3.1/spark-2.3.1.tgz

二、環境準備

1、一個Linux系統環境

2、在Linux系統上安裝Java8(及以上)

3、在Linux系統上安裝scala 2.11.8(及以上)

4、在Linux系統上安裝maven 3.3.9(及以上)

5、IDEA   window或Linux都可以

三、編譯spark程式碼

1、解壓縮  tar -zxvf spark-2.3.1.tgz  ,進入到spark根目錄下  cd spark-2.3.1/

2、編譯,可以參考官方文件 http://spark.apache.org/docs/latest/building-spark.html

build/mvn -T 8 -DskipTests clean package (-T 引數指定8個執行緒編譯,根據自己計算機的效能而定,DskipTests 跳過tests)

注:如果編譯失敗,反覆執行此命令,編譯過程中會下載包,編譯時間根據網路而定(可以配上阿里雲的maven映象)

編譯完成後測試一下

./bin/spark-shell

四、將編譯完成的spark原始碼匯入IDEA

如果你要在window上除錯,就把編譯好的spark原始碼匯出到你得window上面,再匯入

以下全是next

匯入成功後,試執行一下spark給定的例項,在examples下面,有Java和Scala版本的

以JavaWordCount為例:

編輯引數

然後執行,這裡會等一會兒,因為需要build一下,耐心等待,build完成後,執行可能會報各種找不到類的錯誤,此時新增依賴包

再次執行成功

後面一起除錯spark的原始碼

相關文章