清明假期折騰了兩天,總結(jié)了兩種方式使用IDE進(jìn)行spark程序,記錄一下:
目前創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、溫縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
第一種方法比較簡單,兩種方式都是采用SBT進(jìn)行編譯的。
注意:本地不需要安裝Scala程序,否則在編譯程序時(shí)有版本兼容性問題。
一、基于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開發(fā)需要的jar包導(dǎo)進(jìn)來
加入后:
導(dǎo)入包完成后,在工程的scala下面創(chuàng)建一個(gè)package
創(chuàng)建一個(gè)Object對(duì)象
構(gòu)建Spark Driver代碼
該程序是對(duì)搜狗日志的處理代碼
接下來進(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文件都刪掉
接下來進(jìn)行Build
選擇“Build Artifacts”
第一次選擇Build,以后同一個(gè)工程要選擇Rebuild,然后等待編譯完成
下面使用spark-submit運(yùn)行程序
最后任務(wù)運(yùn)行完成
二、基于SBT方式
開發(fā)工具下載
Spark開發(fā)需要以下開發(fā)編譯工具:
1、Scala IDE:本文以IntelliJ IDEA為例進(jìn)行開發(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盤用戶目錄下
(注意:使用命令sbt進(jìn)行下載時(shí)要確保網(wǎng)速,最好使用代理下載)
開發(fā)工具配置
1、IntelliJ IDEA開發(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包,造成編譯不通過等錯(cuò)誤
SBT和Scala的版本號(hào)在C盤用戶目錄下可以看出:
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包也無法執(zhí)行。
(4) 基于SBT的Scala程序?qū)こ痰慕Y(jié)構(gòu)要求比較苛刻,需要建立如下目錄結(jié)構(gòu):
(5) 添加Spark插件:
注意:同時(shí)該插件需要添加到lib目錄下(操作系統(tǒng)復(fù)制即可)
準(zhǔn)備工作完成,下面進(jìn)行Spark程序開發(fā)
編寫代碼
下面以類wordcount程序?yàn)槔?/p>
編寫Spark程序:
請(qǐng)不要使用InteiiJ IDEA進(jìn)行編譯(漢字導(dǎo)致后面編譯不過去)
編譯和執(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ù)詳見官方文檔
網(wǎng)站題目:基于IDEA使用SparkAPI開發(fā)Spark程序
本文鏈接:http://m.rwnh.cn/article48/jepcep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、、Google、用戶體驗(yàn)、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)