基于IDEA使用SparkAPI開發(fā)Spark程序

清明假期折騰了兩天,總結(jié)了兩種方式使用IDE進(jìn)行spark程序,記錄一下:

目前創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、溫縣網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

第一種方法比較簡單,兩種方式都是采用SBT進(jìn)行編譯的。

注意:本地不需要安裝Scala程序,否則在編譯程序時有版本兼容性問題。

一、基于Non-SBT方式

創(chuàng)建一個Scala IDEA工程

 基于IDEA使用Spark API開發(fā)Spark程序

我們使用Non-SBT的方式,點擊“Next”

 基于IDEA使用Spark API開發(fā)Spark程序

命名工程,其他按照默認(rèn)

 基于IDEA使用Spark API開發(fā)Spark程序

點擊“Finish”完成工程的創(chuàng)建

 基于IDEA使用Spark API開發(fā)Spark程序

修改項目的屬性

 基于IDEA使用Spark API開發(fā)Spark程序

首先修改Modules選項

 基于IDEA使用Spark API開發(fā)Spark程序

在src下創(chuàng)建兩個文件夾,并把其屬性改為source

 基于IDEA使用Spark API開發(fā)Spark程序

下面修改Libraries

 基于IDEA使用Spark API開發(fā)Spark程序

將Spark開發(fā)需要的jar包導(dǎo)進(jìn)來

 基于IDEA使用Spark API開發(fā)Spark程序

加入后:

 基于IDEA使用Spark API開發(fā)Spark程序

導(dǎo)入包完成后,在工程的scala下面創(chuàng)建一個package

 基于IDEA使用Spark API開發(fā)Spark程序

創(chuàng)建一個Object對象

 基于IDEA使用Spark API開發(fā)Spark程序

構(gòu)建Spark Driver代碼

 基于IDEA使用Spark API開發(fā)Spark程序

該程序是對搜狗日志的處理代碼

接下來進(jìn)行打包,使用Project Structure的Artifacts

 基于IDEA使用Spark API開發(fā)Spark程序

使用From modules with dependencies

 基于IDEA使用Spark API開發(fā)Spark程序

 基于IDEA使用Spark API開發(fā)Spark程序

選擇Main Class

 基于IDEA使用Spark API開發(fā)Spark程序

 基于IDEA使用Spark API開發(fā)Spark程序

點擊“OK”

 基于IDEA使用Spark API開發(fā)Spark程序

把名稱改為FirstSparkAppJar

 基于IDEA使用Spark API開發(fā)Spark程序

因為每臺機器上都安裝了Scala和Spark,所以可以把Scala和Spark相關(guān)的jar文件都刪掉

 基于IDEA使用Spark API開發(fā)Spark程序

接下來進(jìn)行Build

 基于IDEA使用Spark API開發(fā)Spark程序

選擇“Build Artifacts”

 基于IDEA使用Spark API開發(fā)Spark程序

第一次選擇Build,以后同一個工程要選擇Rebuild,然后等待編譯完成

 基于IDEA使用Spark API開發(fā)Spark程序

下面使用spark-submit運行程序

 基于IDEA使用Spark API開發(fā)Spark程序

最后任務(wù)運行完成

 基于IDEA使用Spark API開發(fā)Spark程序

二、基于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包:

 基于IDEA使用Spark API開發(fā)Spark程序

默認(rèn)jar包(.idea-build、.ivy2、.sbt)下載到C盤用戶目錄下

(注意:使用命令sbt進(jìn)行下載時要確保網(wǎng)速,最好使用代理下載)


開發(fā)工具配置

1、IntelliJ IDEA開發(fā)配置:

(1) 下載Scala插件:選擇Configure下的Plugins進(jìn)入下圖

 基于IDEA使用Spark API開發(fā)Spark程序選擇Install JetBrains plugin,搜索Scala進(jìn)行下載。

(2) 創(chuàng)建基于SBT的Scala工程:

 基于IDEA使用Spark API開發(fā)Spark程序

(3) 設(shè)置工程名稱以及Scala和SBT版本:

 基于IDEA使用Spark API開發(fā)Spark程序注意:

  1. 最好將Download兩個選項取消,否則會覆蓋之前用戶目錄下的SBTjar包,造成編譯不通過等錯誤

  2. SBT和Scala的版本號在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)行修改同步。

  3. 工程路徑不要使用中文,否則即使編譯成功打成jar包也無法執(zhí)行。

(4) 基于SBT的Scala程序?qū)こ痰慕Y(jié)構(gòu)要求比較苛刻,需要建立如下目錄結(jié)構(gòu):

 基于IDEA使用Spark API開發(fā)Spark程序

(5) 添加Spark插件:

 基于IDEA使用Spark API開發(fā)Spark程序注意:同時該插件需要添加到lib目錄下(操作系統(tǒng)復(fù)制即可)

準(zhǔn)備工作完成,下面進(jìn)行Spark程序開發(fā)


編寫代碼

下面以類wordcount程序為例:

編寫Spark程序:

 基于IDEA使用Spark API開發(fā)Spark程序

請不要使用InteiiJ IDEA進(jìn)行編譯(漢字導(dǎo)致后面編譯不過去)


編譯和執(zhí)行

(1)使用SBT進(jìn)行編譯和打包:

DOS下進(jìn)入工程目錄下,使用sbt命令進(jìn)行編譯和打包:

 基于IDEA使用Spark API開發(fā)Spark程序

 基于IDEA使用Spark API開發(fā)Spark程序

默認(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ù)詳見官方文檔

 基于IDEA使用Spark API開發(fā)Spark程序

網(wǎng)站題目:基于IDEA使用SparkAPI開發(fā)Spark程序
本文鏈接:http://muchs.cn/article48/jepcep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、Google、用戶體驗、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)