http://dongxicheng.org/framework-on-yarn/spark-eclipse-ide/
前一篇文章“Apache Spark學習:將Spark部署到Hadoop 2.2.0上”介紹了如何使用Maven編譯產生可直接運行在Hadoop 2.2.0上的Spark jar包,而本文則在此基礎上, 介紹如何利用Eclipse構建Spark整合式開發環境 。不建議大家使用eclipse開發spark程式和閱讀原始碼,推薦使用Intellij IDEA,具體參考文章:Apache Spark探秘:利用Intellij IDEA構建開發環境。
(1) 準備工作
在正式介紹之前,先要以下軟硬體準備:
軟體準備:
Eclipse Juno版本(4.2版本),可以直接點擊這裡下載:Eclipse 4.2
Scala 2.9.3版本,Window安裝程式可以直接點擊這裡下載:Scala 2.9.3
Eclipse Scala IDE外掛程式,可直接點擊這裡下載:Scala IDE(for Scala 2.9.x and Eclipse Juno)
硬體準備
裝有Linux或者Windows作業系統的機器一台
(2) 構建Spark整合式開發環境
我是在windows作業系統下操作的,流程如下:
步驟1:安裝scala 2.9.3:直接點擊安裝即可。
步驟2:將Eclipse Scala IDE外掛程式中features和plugins兩個目錄下的所有檔案拷貝到Eclipse解壓後對應的目錄中
步驟3:重新啟動Eclipse,點擊eclipse右上方方框按鈕,如下圖所示,展開後,點擊“Other….”,查看是否有“Scala”一項,有的話,直接點擊開啟,否則進行步驟4操作。
步驟4:在Eclipse中,依次選擇“Help” –> “Install New Software…”,在開啟的卡裡填入http://download.scala-ide.org/sdk/e38/scala29/stable/site,並按斷行符號鍵,可看到以下內容,選擇前兩項進行安裝即可。(由於步驟3已經將jar包拷貝到eclipse中,安裝很快,只是疏通一下)安裝完後,重複操作一遍步驟3便可。
(3) 使用Scala語言開發Spark程式
在eclipse中,依次選擇“File” –>“New” –> “Other…” –> “Scala Wizard” –> “Scala Project”,建立一個Scala工程,並命名為“SparkScala”。
右擊“SaprkScala”工程,選擇“Properties”,在彈出的框中,按照下圖所示,依次選擇“Java Build Path” –>“Libraties” –>“Add External JARs…”,匯入文章“Apache Spark學習:將Spark部署到Hadoop 2.2.0上”中給出的
assembly/target/scala-2.9.3/目錄下的spark-assembly-0.8.1-incubating-hadoop2.2.0.jar,這個jar包也可以自己編譯spark產生,放在spark目錄下的assembly/target/scala-2.9.3/目錄中。
跟建立Scala工程類似,在工程中增加一個Scala Class,命名為:WordCount,整個工程結構如下:
WordCount就是最經典的詞頻統計程式,它將統計輸入目錄中所有單詞出現的總次數,Scala代碼如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import org.apache.spark. _ import SparkContext. _ object WordCount { def main(args : Array[String]) { if (args.length ! = 3 ){ |