歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用 IntelliJ IDEA 導入 Spark 最新源碼及編譯 Spark 源代碼

使用 IntelliJ IDEA 導入 Spark 最新源碼及編譯 Spark 源代碼

日期:2017/2/28 14:23:27   编辑:Linux教程

在對 Spark 有了一定使用經驗後,為了能夠跟進 Spark 源代碼的開發進展,對其源代碼進行詳細的閱讀分析,本文詳細說明了如何使用 IntelliJ IDEA 從 Github 上導入最新的 Spark 源代碼,並對其進行編譯。

准備工作

首先你的系統中需要安裝了 JDK 1.6+,並且安裝了 Scala。之後下載最新版的 IntelliJ IDEA 後,首先安裝(第一次打開會推薦你安裝)Scala 插件,相關方法就不多說了。至此,你的系統中應該可以在命令行中運行 Scala。我的系統環境如下:

1. Mac OS X(10.9.5)

2. JDK 1.7.71

3. Scala 2.10.4

4. IntelliJ IDEA 14

另外,最後還是建議大家開始先使用 pre-built 的 Spark,對 Spark 的運行、使用方法有所了解,編寫了一些 Spark 應用程序後再展開源代碼的閱讀,並嘗試修改源碼,進行手動編譯。

從 Github 導入 Spark 工程

打開IntelliJ IDEA 後,在菜單欄中選擇 VCS→Check out from Version Control→Git,之後在 Git Repository URL 中填入 Spark 項目的地址,並指定好本地路徑,如下圖所示。

點擊該窗口中的的 Clone 後,開始從 Github 中 clone 該項目,該過程試你網速而定,大概需要3-10分鐘。

編譯 Spark

當 clone 完畢後,IntelliJ IDEA 會自動提示你該項目有對應的 pom.xml 文件,是否打開。這裡直接選擇 Open 該 pom.xml 文件,然後系統會自動解析項目的相關依賴,該步驟也會因你的網絡和系統相關環境,所需時間不同。

該步驟完成之後,請手動編輯 Spark 根目錄下的 pom.xml 文件,找到其中指定 java 版本的那一行(java.version),根據你的系統環境,如果使用的是 jdk1.7 ,那麼或許需要你將其值改成1.7(默認是1.6)。

之後打開 shell 終端,在命令行中進入剛才導入的 spark 項目根目錄,執行

sbt/sbt assembly

該編譯命令將全部采用默認的配置來編譯 Spark,若想指定相關組件的版本,可以查看 Spark 官網中的 Build-Spark(http://spark.apache.org/docs/latest/building-spark.html),查看所有常用的編譯選項。該過程目前不需要 VPN 即可完成,為了預估編譯所需的時間,你可以在新開一個 shell 終端,不斷查看 spark 項目目錄的大小,我最終采用默認配置,編譯成功後的 spark 目錄大小為2.0G。

結束語

至此,為了檢驗你的編譯結果,可以在命令行中進入 spark/bin 目錄,運行 spark-shell,若一切都正常啟動,則編譯成功。若你修改了 Spark 的源碼,可以重新使用 sbt 來進行編譯,並且編譯的時間不會像第一次編譯那麼長。如果你有任何問題,歡迎評論交流!

--------------------------------------分割線 --------------------------------------

Spark1.0.0部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htm

CentOS 6.2(64位)下安裝Spark0.8.0詳細記錄 http://www.linuxidc.com/Linux/2014-06/102583.htm

Spark簡介及其在Ubuntu下的安裝使用 http://www.linuxidc.com/Linux/2013-08/88606.htm

安裝Spark集群(在CentOS上) http://www.linuxidc.com/Linux/2013-08/88599.htm

Hadoop vs Spark性能對比 http://www.linuxidc.com/Linux/2013-08/88597.htm

Spark安裝與學習 http://www.linuxidc.com/Linux/2013-08/88596.htm

Spark 並行計算模型 http://www.linuxidc.com/Linux/2012-12/76490.htm

--------------------------------------分割線 --------------------------------------

Spark 的詳細介紹:請點這裡
Spark 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved