清明假期折騰了兩天,總結(jié)了兩種方式使用IDE進(jìn)行spark程序,記錄一下:
創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),玉田網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:玉田等地區(qū)。玉田做網(wǎng)站價(jià)格咨詢:13518219792第一種方法比較簡(jiǎn)單,兩種方式都是采用SBT進(jìn)行編譯的。
注意:本地不需要安裝Scala程序,否則在編譯程序時(shí)有版本兼容性問(wèn)題。
一、基于Non-SBT方式
創(chuàng)建一個(gè)Scala IDEA工程
我們使用Non-SBT的方式,點(diǎn)擊“Next”
命名工程,其他按照默認(rèn)
點(diǎn)擊“Finish”完成工程的創(chuàng)建
修改項(xiàng)目的屬性
首先修改Modules選項(xiàng)
在src下創(chuàng)建兩個(gè)文件夾,并把其屬性改為source
下面修改Libraries
將Spark開(kāi)發(fā)需要的jar包導(dǎo)進(jìn)來(lái)
加入后:
導(dǎo)入包完成后,在工程的scala下面創(chuàng)建一個(gè)package
創(chuàng)建一個(gè)Object對(duì)象
構(gòu)建Spark Driver代碼
該程序是對(duì)搜狗日志的處理代碼
接下來(lái)進(jìn)行打包,使用Project Structure的Artifacts
使用From modules with dependencies
選擇Main Class
點(diǎn)擊“OK”
把名稱改為FirstSparkAppJar
因?yàn)槊颗_(tái)機(jī)器上都安裝了Scala和Spark,所以可以把Scala和Spark相關(guān)的jar文件都刪掉
接下來(lái)進(jìn)行Build
選擇“Build Artifacts”
第一次選擇Build,以后同一個(gè)工程要選擇Rebuild,然后等待編譯完成
下面使用spark-submit運(yùn)行程序
最后任務(wù)運(yùn)行完成
二、基于SBT方式
開(kāi)發(fā)工具下載
Spark開(kāi)發(fā)需要以下開(kāi)發(fā)編譯工具:
1、Scala IDE:本文以IntelliJ IDEA為例進(jìn)行開(kāi)發(fā),下載地址:
https://www.jetbrains.com/idea/download/
2、SBT(Simple Build Tool)編譯工具下載:
http://www.scala-sbt.org/download.html
下載安裝后,在DOS下執(zhí)行sbt命令下載其所需要的jar包:
默認(rèn)jar包(.idea-build、.ivy2、.sbt)下載到C盤(pán)用戶目錄下
(注意:使用命令sbt進(jìn)行下載時(shí)要確保網(wǎng)速,最好使用代理下載)
開(kāi)發(fā)工具配置
1、IntelliJ IDEA開(kāi)發(fā)配置:
(1) 下載Scala插件:選擇Configure下的Plugins進(jìn)入下圖
選擇Install JetBrains plugin,搜索Scala進(jìn)行下載。
(2) 創(chuàng)建基于SBT的Scala工程:
(3) 設(shè)置工程名稱以及Scala和SBT版本:
注意:
最好將Download兩個(gè)選項(xiàng)取消,否則會(huì)覆蓋之前用戶目錄下的SBTjar包,造成編譯不通過(guò)等錯(cuò)誤
SBT和Scala的版本號(hào)在C盤(pán)用戶目錄下可以看出:
C:\Users\用戶\.sbt\boot\scala-2.10.4\org.scala-sbt\sbt\0.13.8
這里可以一次性設(shè)置正確,也可以后續(xù)修改配置文件(build.sbt修改scala版本,build.properties修改sbt版本)進(jìn)行修改同步。
工程路徑不要使用中文,否則即使編譯成功打成jar包也無(wú)法執(zhí)行。
(4) 基于SBT的Scala程序?qū)こ痰慕Y(jié)構(gòu)要求比較苛刻,需要建立如下目錄結(jié)構(gòu):
(5) 添加Spark插件:
注意:同時(shí)該插件需要添加到lib目錄下(操作系統(tǒng)復(fù)制即可)
準(zhǔn)備工作完成,下面進(jìn)行Spark程序開(kāi)發(fā)
編寫(xiě)代碼
下面以類(lèi)wordcount程序?yàn)槔?/p>
編寫(xiě)Spark程序:
請(qǐng)不要使用InteiiJ IDEA進(jìn)行編譯(漢字導(dǎo)致后面編譯不過(guò)去)
編譯和執(zhí)行
(1)使用SBT進(jìn)行編譯和打包:
DOS下進(jìn)入工程目錄下,使用sbt命令進(jìn)行編譯和打包:
默認(rèn)打的jar在工程目錄test\target\scala-2.10下
(2)將jar包上傳到服務(wù)器執(zhí)行:
使用命令:
spark-submit --class test--master yarn test_2.10-0.1-SNAPSHOT.jar 100
更多的參數(shù)詳見(jiàn)官方文檔
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享文章:基于IDEA使用SparkAPI開(kāi)發(fā)Spark程序-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://chinadenli.net/article40/dhpgeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、響應(yīng)式網(wǎng)站、軟件開(kāi)發(fā)、定制網(wǎng)站、標(biāo)簽優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容