通過IDEA搭建scala開發環境開發spark應用程序


一、idea社區版安裝scala插件

因為idea默認不支持scala開發環境,所以當需要使用idea搭建scala開發環境時,首先需要安裝scala插件,具體安裝辦法如下。

1、打開idea,點擊configure下拉菜單中的plugins選項:

clip_image002

2、在彈出對話框中點擊紅框按鈕:

clip_image004

3、在彈出最新對話框的搜索欄輸入scala,在篩選出的內容中選擇紅框部分,點擊右側install按鈕開始下載插件:

clip_image006

本人在測試過程中通過install自動下載插件失敗,最后選擇手動下載scala插件,然后通過步驟2中install plugin from disk選項,選擇手動下載zip包的方式安裝插件成功。

二、創建scala工程

1、下載scala安裝文件,並解壓到d:\目錄下:

https://downloads.lightbend.com/scala/2.10.6/scala-2.10.6.zip

2、打開idea開發工具,選擇“create new project”,創建一個新的工程:

clip_image008

3、下圖中選擇jdk版本、選擇scala、以及scala依賴包位置(scala安裝軟件位置),next:

clip_image010

4、輸入工程名稱並且選擇工程位置,點擊finash:

clip_image012

5、完成工程創建后如下:

clip_image014

三、配置scala工程

1、file->preject structure:

clip_image016

2、modulesàsrcànew folder方式創建文件夾:

clip_image018

3、完成文件創建后,點擊ok完成配置。

clip_image020

工程結構如下:

clip_image022

四、為工程導入spark jar包

1、首先解壓縮spark安裝包到d:\目錄下:

D:\spark-1.3.0-bin-2.5.0-cdh5.3.6

2、fileàproject structure:

clip_image024

3、在對話框選擇librariesà+àjava:

clip_image026

4、在彈出對話框內選擇spark解壓目錄,選中spark lib目錄下所有jar包,點擊ok導入所有jar包:

clip_image028

5、點擊ok,完成spark jar包導入scala工程:

clip_image030

clip_image032

五、編寫wordcount程序進行基准測試

1、在scala工程中創建packet,並且創建測試spark類,並且編寫wordcount程序代碼,如下:

package Chavin.King.SparkApp
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SparkDemo {
def main(args: Array[String]) {
val logFile = "hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/input/wc.input"
val conf = new SparkConf().setAppName("Simple Application") //.setMaster("local")
val sc = new SparkContext(conf)
val rdd = sc.textFile(logFile)
val wordcount = rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1))
wordcount.saveAsTextFile("hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/output00000")
sc.stop()
}
}

截圖如下:

clip_image034

2、代碼完成之后,右鍵à選擇run “SparkApp”,運行程序進行功能測試。

3、打包SparkApp程序:

File—>preject structureàartifactsà+àJARàfrom modules with dependencies:

clip_image036

下圖中選擇要編譯的主類,點擊ok:

clip_image038

刪除output layout下的所有依賴jar包,並且指定output directory,點擊ok:

clip_image040

回到idea主頁面,點擊buildàbuild artifacts:

clip_image042

SaprkApp.jar—>build,進行jar包編譯:

clip_image044

編譯完成后到d:\下可以看到我們編譯的jar包。

4、測試編譯的jar包(SparkApp.jar):

4.1)刪除hdfs輸出目錄:

bin/hdfs dfs -rm -r hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/output00000

4.2)spark-submit方式測試jar包:

bin/spark-submit \
--master yarn \
--deploy-mode client \
/opt/datas/SparkApp.jar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM