前些天用maven編譯打包spark,搞得焦頭爛額的,各種錯誤,層出不窮,想想也是醉了,於是乎,換種方式,使用sbt編譯,看看人品如何!
首先,從官網spark官網下載spark源碼包,解壓出來。我這邊使用的是1.4.0版本。
然后,我們需要把sbt配置好,配置很簡單,無非就是SBT_HOME什么的,大家可以參考官網給出的安裝配置手冊。
在window的命令行模式下進入剛剛解壓的spark源碼目錄下,我們根據官網提示的命令輸入:
sbt -Pyarn -Phadoop-2.3 assembly
然后等待編譯完成。。。
中途報錯!!!
定睛一看,哦!原來是提示沒有git命令,於是,我從git官網下載了git,安裝並配置好環境變量,這個配置也很簡單。
繼續編譯,心情不好,所以把命令打的更長了:
sbt -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver assembly
長時間的等待中。。。先去看看hadoop的權威指南。。。
失敗,失敗,又是失敗!
又回到原點,轉向了maven。我發現,maven在編譯整個spark源碼的時候很容易出錯,而且出錯了找起來也比較麻煩。於是,我決定一個一個小文件夾編譯,發現,真的可以誒。現在正在編譯小文件夾中的pom.xml。。。
編譯完成,講根目錄下的pom.xml修改,刪除沒必要的module,否則,maven編譯測試的時候還是出錯,只需要剩下該有的就行。