- Spark核心技術(shù)與高級應(yīng)用
- 于俊等
- 86字
- 2019-01-01 01:24:36
3.2 構(gòu)建Spark的開發(fā)環(huán)境
無論Windows或Linux操作系統(tǒng),構(gòu)建Spark開發(fā)環(huán)境的思路一致,基于Eclipse或Idea,通過Java、Scala或Python語言進(jìn)行開發(fā)。安裝之前需要提前準(zhǔn)備好JDK、Scala或Python環(huán)境,然后在Eclipse中下載安裝Scala或Python插件。
3.2.1 準(zhǔn)備環(huán)境
準(zhǔn)備環(huán)境包括JDK、Scala和Python的安裝。
1.安裝JDK
(1)下載JDK(1.7以上版本)
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html。
(2)配置環(huán)境變量(以Windows為例)
新增JAVA_HOME變量,值:C:\Program Files\Java\jdk1.7.0_71。
新增CLASSPATH變量,值:.;%JAVA_HOME%\lib。
增加PATH變量,補(bǔ)充;%JAVA_HOME%\bin。
進(jìn)入cmd界面測試JDK是否安裝成功。
C:\Users\admin>java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
2.安裝Scala
下載Scala(2.10以上版本),下載地址:http://www.scala-lang.org/download/。
安裝完畢配置環(huán)境變量,增加PATH變量,補(bǔ)充C:\Program Files (x86)\scala\bin;。
進(jìn)入cmd界面測試Scala是否安裝成功。
C:\Users\admin>scala Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_7 Type :help for more information.
3.安裝Python
下載Python,下載地址:https://www.python.org/downloads/。
安裝完畢配置環(huán)境變量,增加PATH變量,補(bǔ)充C:\Python33;。
進(jìn)入cmd界面測試Python是否安裝成功。
C:\Users\admin>python Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
3.2.2 構(gòu)建Spark的Eclipse開發(fā)環(huán)境
使用Eclipse進(jìn)行Spark開發(fā),需要安裝Scala和Python插件,安裝步驟如下:
1)安裝Eclipse,在官網(wǎng)下載Eclipse,解壓縮到本地后直接使用即可。
2)安裝Scala插件,打開Eclipse,依次選擇“Help”→“Install New Software…”,在選項(xiàng)里填入http://download.scala-ide.org/sdk/e38/scala210/stable/site/,并按回車鍵,如圖3-1所示,選擇Scala IDE for Eclipse和Scala IDE for Eclipse development support,完成Scala插件在Eclipse上的安裝。

圖3-1 Eclipse安裝Scala插件
3)安裝Python插件,與安裝Scala插件一樣,打開Eclipse,利用Eclipse Update Manager安裝PyDev。在Eclipse菜單欄中找到Help欄,選擇“Help”→“Install New Software”命令,在彈出的Install界面中點(diǎn)擊“Add”按鈕,會彈出“Add Repository”界面,在名稱項(xiàng)輸入PyDev;在鏈接里輸入地址,如https://dl.bintray.com/fabioz/pydev/all/,然后點(diǎn)擊“OK”按鈕。接下來,Eclipse的Update Manager將會在剛才輸入的站點(diǎn)中搜索安裝包,選中搜索出的結(jié)果PyDev,并點(diǎn)擊“Next”按鈕,等待一段時間,PyDev會安裝成功。
安裝完畢PyDev之后,配置Python/Jython解釋器,在Eclipse菜單欄中,選擇“Window”→“Preferences”→“Pydev”→“Interpreter - (Python/Jython)”命令。
重啟Eclipse使安裝生效。
3.2.3 構(gòu)建Spark的IntelliJ IDEA開發(fā)環(huán)境
除了使用Eclipse進(jìn)行Spark程序開發(fā)之外,Spark支持的另外一種開發(fā)工具是IntelliJ IDEA;下載地址:http://www.jetbrains.com/idea/。
官方提供了Ultimate版和Community版可供選擇,主要區(qū)別如下:
1)Ultimate版功能齊全的IDE,支持Web和Enterprise,免費(fèi)試用30天,由官方提供一個專有的開發(fā)工具集和架構(gòu)支持。
2)Community版支持Java、Groovy、Scala、Android的開發(fā),免費(fèi)并且開源,由社區(qū)進(jìn)行支持。
作者使用的版本是ideaIC-14.1.4,請選擇適合的操作系統(tǒng)進(jìn)行安裝。
提示
如何安裝IntelliJ IDEA?
□ Windows :直接運(yùn)行.exe文件,按照向?qū)Р襟E操作即可。
□ Mac OS X:打開.dmg包,并復(fù)制IntelliJ IDEA到應(yīng)用文件夾。
□ Linux:解壓.tar.gz壓縮包,并運(yùn)行bin/idea.sh(需要在環(huán)境變量PATH中加入IDEA目錄,并執(zhí)行source命令使配置文件生效)。
根據(jù)實(shí)際需求,我們選擇Windows系統(tǒng)的Community版本進(jìn)行Scala程序的開發(fā)。步驟包括:安裝Scala插件和創(chuàng)建項(xiàng)目并在IDEA中編寫Scala代碼。
1. 安裝Scala插件
① 運(yùn)行IDEA并安裝和配置IDEA的Scala開發(fā)插件,啟動程序界面如圖3-2所示,此時需要選擇“Conf igure”,然后進(jìn)入IDEA的配置頁面。

圖3-2 選擇“Conf igure”
② 在IDEA的配置頁面選擇“Plugins”(見圖3-3),進(jìn)入插件安裝界面。

圖3-3 選擇“Plugins”
③ 點(diǎn)擊安裝界面左下角的“Install JetBrains plugin”選項(xiàng),進(jìn)入JetBrains插件選擇頁面,如圖3-4所示。

圖3-4 JetBrains插件選擇頁面
(如果網(wǎng)絡(luò)不穩(wěn)定,可以提前下載,然后選擇“Install plugin from disk”本地加載插件,下載地址:http://www.jetbrains.net/conf luence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA。)④ 在左上方的輸入框中輸入“Scala”來查找Scala插件,此時點(diǎn)擊右側(cè)的“Install plugin”按鈕,如圖3-5所示。

圖3-5 安裝Scala Plugin
插件安裝完畢,重啟IDEA。
2. 創(chuàng)建項(xiàng)目并在IDEA中編寫Scala代碼
① 進(jìn)入首頁(見圖3-2),選擇“Create New Project”命令,此時選擇左側(cè)列表中的“Scala”選項(xiàng),為了方便以后的開發(fā)工作,選擇右側(cè)的“SBT”選項(xiàng),如圖3-6所示。

圖3-6 建立Scala的SBT項(xiàng)目
② 點(diǎn)擊“Next”按鈕進(jìn)入下一步,設(shè)置Scala工程名稱和本地目錄(見圖3-7),選擇SDK、SBT、Scala版本,點(diǎn)擊“Finish”按鈕完成工程的創(chuàng)建。

圖3-7 設(shè)置工程名稱和本地目錄
③ 由于在前面選擇了“SBT”選項(xiàng),所以此時IDEA智能地構(gòu)建SBT工具:點(diǎn)擊工程名稱“HelloSpark”,可以看到SBT自動創(chuàng)建的一些目錄,如圖3-8所示。

圖3-8 SBT自動創(chuàng)建的一些目錄
④ 此時右擊src目錄下main中的scala,在彈出的“New”菜單下選擇“Scala Class”,在彈出的“Create New Scala Class”對話框中輸入文件名“HelloSpark”,把Kind選擇為“Object”,點(diǎn)擊“OK”按鈕完成,如圖3-9所示。

圖3-9 點(diǎn)擊“OK”按鈕確認(rèn)創(chuàng)建Object
⑤ 編寫“HelloSpark”的源代碼,點(diǎn)擊代碼區(qū),出現(xiàn)下拉菜單視圖,選擇“Run ‘Hello-Spark’”運(yùn)行程序,如圖3-10所示。

圖3-10 選擇運(yùn)行程序的命令
3. 加入Spark開發(fā)包
使用IDEA導(dǎo)入外部Jar包,具體步驟:“File”→“Project Structure”→“Modules”→“De pendencies”→+...→“Library...”→“Library Type(Java)”→“Select Library Files”→“Conf igure Library”,以添加spark-assembly-1.5.0-hadoop2.3.0.jar為例,添加步驟如下:
① 點(diǎn)擊“File”,選擇“Project Structure”,如圖3-11所示。

圖3-11 選擇Project Structure菜單
② 點(diǎn)擊“Modules”,選擇“Dependencies”,增加“Library”,如圖3-12所示。

圖3-12 選擇添加依賴庫
③ 選擇依賴庫類型“Java”,如圖3-13所示。

圖3-13 選擇依賴庫類型(Java)
④ 通過“Select Library Files”,選擇“spark-assembly-*-*.jar”,如圖3-14所示。

圖3-14 選擇spark-assembly-1.5.0-hadoop2.3.0.jar
選擇完畢進(jìn)行Spark開發(fā)包加載。
4. JDK路徑錯誤處理
如果SBT出現(xiàn)如圖3-15提示,這是由于沒有設(shè)置Java的JDK路徑。

圖3-15 出現(xiàn)JDK路徑錯誤
請點(diǎn)擊最右側(cè)的“Project Structure”,如圖3-16所示,進(jìn)入視圖,并配置項(xiàng)目JDK。

圖3-16 配置Project Structure
選擇最左側(cè)的“Project”選項(xiàng),并選擇“No SDK”的“New”如圖3-17所示,選擇項(xiàng)目JDK為1.7。

圖3-17 選擇JDK
重啟IDEA,問題解決。
5. SBT下載不完整問題處理
如果不能出現(xiàn)完整的SBT目錄,選擇“View”目錄的下拉菜單“Tool Windows”目錄,選擇“SBT”,如圖3-18所示。

圖3-18 選擇SBT目錄
然后刷新SBT tasks,如圖3-19所示。

圖3-19 點(diǎn)擊刷新按鈕
如果完整目錄還是不可見,可以查看具體日志,然后將需要下載的sbt包下載下來,放到相應(yīng)的目錄,一般是當(dāng)前用戶的.ivy2目錄,然后刪除HelloSpark項(xiàng)目,重新建項(xiàng)目。
最終可以見到完整的SBT路徑。
6. IDEA生成Jar包
使用IDEA編譯class文件,同時可以將class打包成Jar文件,方法如下:
① 選擇菜單“File”→“Project Structure”,彈出“Project Structure”的設(shè)置對話框;
② 選擇左邊的“Artifacts”,點(diǎn)擊上方的“+”按鈕;
③ 在彈出的對話框中選擇“Jar”→“from moduls with dependencies”;
④ 選擇要啟動的類,然后確定;
⑤ 應(yīng)用之后選擇菜單“Build”→“Build Artifacts”,選擇“Build”或者“Rebuild”后即可生成,生成的Jar文件位于工程項(xiàng)目目錄的out/artifacts下。
- 漫話大數(shù)據(jù)
- 大規(guī)模數(shù)據(jù)分析和建模:基于Spark與R
- Building Computer Vision Projects with OpenCV 4 and C++
- 數(shù)據(jù)挖掘原理與實(shí)踐
- Python數(shù)據(jù)分析、挖掘與可視化從入門到精通
- SQL查詢:從入門到實(shí)踐(第4版)
- 醫(yī)療大數(shù)據(jù)挖掘與可視化
- 數(shù)亦有道:Python數(shù)據(jù)科學(xué)指南
- SQL優(yōu)化最佳實(shí)踐:構(gòu)建高效率Oracle數(shù)據(jù)庫的方法與技巧
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- Oracle PL/SQL實(shí)例精解(原書第5版)
- 企業(yè)級容器云架構(gòu)開發(fā)指南
- 跨領(lǐng)域信息交換方法與技術(shù)(第二版)
- 活用數(shù)據(jù):驅(qū)動業(yè)務(wù)的數(shù)據(jù)分析實(shí)戰(zhàn)
- 數(shù)據(jù)庫與數(shù)據(jù)處理:Access 2010實(shí)現(xiàn)