天天看點

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

本節書摘來自華章社群《spark核心技術與進階應用》一書中的第3章,第3.2節建構spark的開發環境,作者于俊 向海 代其鋒 馬海平,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.2 建構spark的開發環境

無論windows或linux作業系統,建構spark開發環境的思路一緻,基于eclipse或idea,通過java、scala或python語言進行開發。安裝之前需要提前準備好jdk、scala或python環境,然後在eclipse中下載下傳安裝scala或python插件。

3.2.1 準備環境

準備環境包括jdk、scala和python的安裝。

1.安裝jdk

(1)下載下傳jdk(1.7以上版本)

(2)配置環境變量(以windows為例)

新增java_home變量,值:c:program filesjavajdk1.7.0_71。

新增classpath變量,值:.;%java_home%lib。

增加path變量,補充;%java_home%bin。

進入cmd界面測試jdk是否安裝成功。

2.安裝scala

安裝完畢配置環境變量,增加path變量,補充c:program files (x86)scalabin;。

進入cmd界面測試scala是否安裝成功。

3.安裝python

安裝完畢配置環境變量,增加path變量,補充c:python33;。

進入cmd界面測試python是否安裝成功。

3.2.2 建構spark的eclipse開發環境

使用eclipse進行spark開發,需要安裝scala和python插件,安裝步驟如下:

1)安裝eclipse,在官網下載下傳eclipse,解壓縮到本地後直接使用即可。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

安裝完畢pydev之後,配置python/jython解釋器,在eclipse菜單欄中,選擇“window”→

重新開機eclipse使安裝生效。

3.2.3 建構spark的intellij idea開發環境

官方提供了ultimate版和community版可供選擇,主要差別如下:

1)ultimate版功能齊全的ide,支援web和enterprise,免費試用30天,由官方提供一個專有的開發工具集和架構支援。

2)community版支援java、groovy、scala、android的開發,免費并且開源,由社群進行支援。

作者使用的版本是ideaic-14.1.4,請選擇适合的作業系統進行安裝。

如何安裝intellij idea?

windows :直接運作.exe檔案,按照向導步驟操作即可。

mac os x:打開.dmg包,并複制intellij idea到應用檔案夾。

linux:解壓.tar.gz壓縮包,并運作bin/idea.sh(需要在環境變量path中加入idea目錄,并執行source指令使配置檔案生效)。

根據實際需求,我們選擇windows系統的community版本進行scala程式的開發。步驟包括:安裝scala插件和建立項目并在idea中編寫scala代碼。

1.?安裝scala插件

①?運作idea并安裝和配置idea的scala開發插件,啟動程式界面如圖3-2所示,此時需要選擇“conf?igure”,然後進入idea的配置頁面。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

③?點選安裝界面左下角的“install jetbrains plugin”選項,進入jetbrains插件選擇頁面,如圖3-4所示。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

插件安裝完畢,重新開機idea。

2.?建立項目并在idea中編寫scala代碼

①?進入首頁(見圖3-2),選擇“create new project”指令,此時選擇左側清單中的“scala”選項,為了友善以後的開發工作,選擇右側的“sbt”選項,如圖3-6所示。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

③?由于在前面選擇了“sbt”選項,是以此時idea智能地建構sbt工具:點選工程名稱“hellospark”,可以看到sbt自動建立的一些目錄,如圖3-8所示。

④?此時右擊src目錄下main中的scala,在彈出的“new”菜單下選擇“scala class”,在彈出的“create new scala class”對話框中輸入檔案名“hellospark”,把kind選擇為“object”,點選“ok”按鈕完成,如圖3-9所示。

   

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

3.?加入spark開發包

使用idea導入外部jar包,具體步驟:“file”→“project structure”→“modules”→“dependencies”→+...→“library...”→“library type(java)”→“select library files”→“conf?igure library”,以添加spark-assembly-1.5.0-hadoop2.3.0.jar為例,添加步驟如下:

①?點選“file”,選擇“project structure”,如圖3-11所示。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

④?通過“select library files”,選擇“spark-assembly--.jar”,如圖3-14所示。

選擇完畢進行spark開發包加載。

4.?jdk路徑錯誤處理

如果sbt出現如圖3-15提示,這是由于沒有設定java的jdk路徑。

請點選最右側的“project structure”,如圖3-16所示,進入視圖,并配置項目jdk。

選擇最左側的“project”選項,并選擇“no sdk”的“new”如圖3-17所示,選擇項目jdk為1.7。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

重新開機idea,問題解決。

5.?sbt下載下傳不完整問題處理

如果不能出現完整的sbt目錄,選擇“view”目錄的下拉菜單“tool windows”目錄,選擇“sbt”,如圖3-18所示。

《Spark核心技術與進階應用》——3.2節建構Spark的開發環境

如果完整目錄還是不可見,可以檢視具體日志,然後将需要下載下傳的sbt包下載下傳下來,放到相應的目錄,一般是目前使用者的.ivy2目錄,然後删除hellospark項目,重建立項目。

最終可以見到完整的sbt路徑。

6.?idea生成jar包

使用idea編譯class檔案,同時可以将class打包成jar檔案,方法如下:

①?選擇菜單“file”→“project structure”,彈出“project structure”的設定對話框;

②?選擇左邊的“artifacts”,點選上方的“+”按鈕;

③?在彈出的對話框中選擇“jar”→“from moduls with dependencies”;

④?選擇要啟動的類,然後确定;

⑤?應用之後選擇菜單“build”→“build artifacts”,選擇“build”或者“rebuild”後即可生成,生成的jar檔案位于工程項目目錄的out/artifacts下。