1.配置好maven:intellij idea maven配置及maven項目建立html
2.下載好spark源碼:sql
1.將下載的源碼包spark-2.3.1.tgz解壓(E:\spark-2.3.1.tgz\spark-2.3.1.tar)至E:\spark-2.3.1-srcapache
2.在ideal導入源碼:windows
a.選擇解壓的源代碼文件夾maven
b.使用maven導入工程ide
c.選擇對應組件的版本post
而後點擊下一步:idea
點擊finish後,等待maven下載相關的依賴包,以後工程界面以下:spa
修改E:\spark-2.3.1-src\pom.xml文件,以免這倆變量未定義,致使最終在E:\spark-2.3.1-src\assembly\target\scala-2.11\沒有jar包scala
開始使用maven對spark源碼進行編譯打包成jar:
編譯結果以下:
會在每一個模塊的target目錄生成對應的jar,並在assembly\target\scala-2.11\jar下生成spark須要的所有jar包
解決辦法以下,在E:\spark-2.3.1-src\sql\catalyst\target目錄下會出現antlr4相關的類:
三.運行spark自帶示例(前提:須要配置spark在windows下的運行環境,參見win7下配置spark)
1.SparkPi
報錯以下:
剛纔生成的spark相關的依賴包沒找到,解決辦法以下:
再次運行,結果以下:
2.經過org.apache.spark.deploy.SparkSubmit提交任務並運行(前提是像運行SparkPi同樣,把assembly\target\jars的依賴加進該模塊,方法同上):
2.1 org.apache.spark.repl.Main
結果:
2.2 自定義spark代碼類運行(以自帶的org.apache.spark.examples.JavaWordCount爲例)