溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2020-06-13 08:27:22 來源:網(wǎng)絡(luò) 閱讀:7418 作者:996440550 欄目:大數(shù)據(jù)

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

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

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


一、基于Non-SBT方式


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

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

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

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

命名工程,其他按照默認

 基于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包導進來

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

加入后:

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

導入包完成后,在工程的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程序

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

接下來進行打包,使用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程序

接下來進行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為例進行開發(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程序

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

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


開發(fā)工具配置


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

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

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

(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版本)進行修改同步。

  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)復制即可)


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


編寫代碼

下面以類wordcount程序為例:

編寫Spark程序:

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

請不要使用InteiiJ IDEA進行編譯(漢字導致后面編譯不過去)


編譯和執(zhí)行

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

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

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

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

默認打的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程序

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI