以前是在Eclipse新建專案,通過Maven匯入的Spark依賴包,現在需要對Spark原始碼修改。
從官網下載了Source Code,修改后不知道怎么在Eclipse專案里使用,希望得到大神的指點!
uj5u.com熱心網友回復:
Eclipse 下開發除錯環境的配置該小節中使用的各項工具分別為:Windows 7+Eclipse Java EE 4.4.2+Scala 2.10.4+Sbt 0.13.8+Maven3.3.3,測驗的 Spark 版本為 1.4.0。
1.配置 IDE:
選擇選單項 Help->Install new software,添加站點 http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site,選擇安裝 Scala IDE for Eclipse 以及 Scala IDE Plugins。
對于標準版 Eclipse,還需要安裝單獨的 Maven 插件。
出于配置簡便考慮,也可以使用 Scala 官方提供的已將所有依賴打包好的 Scala IDE。
特別的,由于專案本身存在一些錯誤,請先暫時關閉 Project->Build Automatically 的功能以節省時間。
2.下載 Spark 源代碼:
創建空目錄,執行如下陳述句:git clone https://github.com/apache/spark.git
除了使用 git 指令之外,也可以從 Spark 的 Github 頁面下載打包好的源代碼。
3.將原始碼轉化為 Eclipse 專案:
進入源代碼根目錄,執行如下陳述句:sbt eclipse。Sbt 執行期間會下載 Spark 所需要的所有 jar 包,因此該步驟會花費很長的時間。其中有一些 jar 包需要使用網路代理等方法才能下載。
4.匯入專案至 Eclipse:
選擇選單項 File->Import,并選擇 General->Existing Projects into Workspace,專案的根路徑選擇源代碼的根路徑,匯入所有專案(共有 25 個)。
5.修改 Scala 版本:
進入 Preference->Scala->Installations,添加機器上安裝的 Scala 2.10.4(選擇 lib 目錄)。由于該版本 Spark(1.4.0)是在 Scala 2.10.4 的環境下撰寫的,需要在 Eclipse 中修改專案使用的 Scala 版本。方法為:全選專案,右鍵選擇 Scala->Set the Scala Installation 并選擇相應的 Scala 版本。
6.為 old-deps 專案添加 Scala Library:
右鍵選擇 old-deps 專案,選擇 Scala->Add Scala Library to Build Path。
7.Maven install 以生成 spark-streaming-flume-sink 所需要的類:
首先將源代碼根目錄中的 scalastyle-config.xml 檔案復制到 spark-streaming-flume-sink 專案根目錄中,而后在 Eclipse 中打開該專案,右鍵選擇 pom.xml 檔案,選擇 Run as->Maven install。
8.修改 spark-sql 與 spark-hive 的包錯誤:
由于源代碼的包設定有錯誤,為此需要將類檔案移至正確的包中
對于 spark-sql 專案,分別選擇 src/test/java 中的 test.org.apache.spark.sql 以及 test.org.apache.spark.sql.sources 包中的所有類,右鍵選擇 Refactor->Move,移動至 org.apache.spark.sql 以及 org.apache.spark.sql.sources 包。
對于 spark-hive 專案,分別選擇 src/test/java 中的 test.org.apache.spark.sql.hive 以及 test.org.apache.spark.sql.hive.execution 包中的所有類,移動至 org.apache.spark.sql.hive 以及 org.apache.spark.sql.hive.execution 包。
9.編譯所有專案:
打開 Project->Build Automatically 功能,等待所有專案編譯成功。
10.檢查是否安裝成功:
將 core 專案中的 src->main->resources->org 檔案夾拷貝到 examples 專案中的 target->scala-2.10->classes 中。而后執行 examples 專案中的 org.apache.spark.examples.SparkPi 程式,并設定其 jvm 引數為-Dspark.master=local
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80949.html
標籤:Spark
