Intellij Idea搭建Spark开发环境
在Spark快速入門指南 – Spark安裝與基礎(chǔ)使用中介紹了Spark的安裝與配置,在那里還介紹了使用spark-submit提交應(yīng)用,不過不能使用vim來(lái)開發(fā)Spark應(yīng)用,放著IDE的方便不用。這里介紹使用Intellij Idea搭建Spark的開發(fā)環(huán)境。
1、Intellij Idea的安裝
由于Spark安裝在Ubuntu環(huán)境中,這里的Idea也安裝在Ubuntu中。首先是下載,到官網(wǎng)下載即可。下載完后解壓到待安裝的目錄:
sudo tar -zxvf ideaIU-2016.1.tar.gz -C /usr/local/我解壓在了/usr/local目錄下,然后更改文件夾名: mv ideaIU-2016.1 idea然后修改文件的用戶和用戶組: sudo chown -R hadoop:hadoop idea這里的hadoop是我的用戶名和組名。這樣idea就安裝成功了。
為了啟動(dòng)idea,進(jìn)入idea/bin目錄,執(zhí)行里面的idea.sh:
bin/idea.sh這樣就可以啟動(dòng)idea。不過這樣不方便,可以在桌面新建文件idea.desktop,輸入如下內(nèi)容: [Desktop Entry] Name=IdeaIU Comment=Rayn-IDEA-IU Exec=/usr/local/idea/bin/idea.sh Icon=/usr/local/idea/bin/idea.png Terminal=false Type=Application Categories=Developer;這樣就創(chuàng)建了一個(gè)桌面快捷方式。2、maven的安裝與配置
Maven 是一個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。作為一個(gè)程序員,都有過為了使用某個(gè)功能而在項(xiàng)目中添加jar包的經(jīng)歷,使用的框架多了,需要添加的jar包也多,而maven能夠自動(dòng)為我們添加需要的jar包。首先在maven官網(wǎng)上下載maven:
下載之后在Downloads目錄下有如下文件:
liu@Binja:~/Downloads$ ls apache-maven-3.3.9-bin.tar.gz解壓到待安裝的目錄:
liu@Binja:~/Downloads$ sudo tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/同樣,修改文件夾名和用戶名:
liu@Binja:/usr/local$ sudo mv apache-maven-3.3.9/ maven liu@Binja:/usr/local$ sudo chown -R liu:liu maven liu@Binja:/usr/local$ ll maven total 52 drwxr-xr-x 6 liu liu 4096 3月 28 20:24 ./ drwxr-xr-x 12 root root 4096 3月 28 20:26 ../ drwxr-xr-x 2 liu liu 4096 3月 28 20:24 bin/ drwxr-xr-x 2 liu liu 4096 3月 28 20:24 boot/ drwxr-xr-x 3 liu liu 4096 11月 11 00:38 conf/ drwxr-xr-x 3 liu liu 4096 3月 28 20:24 lib/ -rw-r--r-- 1 liu liu 19335 11月 11 00:44 LICENSE -rw-r--r-- 1 liu liu 182 11月 11 00:44 NOTICE -rw-r--r-- 1 liu liu 2541 11月 11 00:38 README.txt liu@Binja:/usr/local$ 然后將maven添加到環(huán)境變量中: sudo vim ~/.bashrc在最后添加下面的內(nèi)容:
export PATH=$PATH:/usr/local/maven/bin
使更改生效:
liu@Binja:/usr/local$ source ~/.bashrc這樣maven就安裝好了。3、用剛安裝的maven配置idea
起始idea自帶了maven,這里配置自己安裝的maven。
一次選擇File->Setting->Build,Execution,Deployment->Build Tools->Maven,如下圖:
在右側(cè)里的Maven home directory里設(shè)置Maven的安裝目錄,就我這里是/usr/local/maven,在User settings file里設(shè)置Mavne的配置文件,我這里使用默認(rèn)的文件,在Local repository里設(shè)置本地包的管理倉(cāng)庫(kù),選擇右側(cè)的Override后,可以自定義自己的倉(cāng)庫(kù)目錄,以后Maven自動(dòng)下載的包就會(huì)存放在這里。
單擊OK后maven就配置完了。然后就可以創(chuàng)建一個(gè)maven項(xiàng)目。
4、創(chuàng)建maven項(xiàng)目
依次選擇File->New->New Project,出現(xiàn)如下界面:
左側(cè)可以選擇項(xiàng)目的類型,這里選擇Maven,右側(cè)可以選擇是否使用模板,勾選上面的Create from archetype后,就可以在下面選擇項(xiàng)目模板,這里選擇Scala的模板。
一路next之后,這里填一下groupID和artifactID,名字隨便取:
然后一路next,填寫上項(xiàng)目的名字,OK就可以了。
這樣新項(xiàng)目就創(chuàng)建成功了,新項(xiàng)目的文件結(jié)構(gòu)如下圖:
其中的pom.xml就是配置我們項(xiàng)目的依賴包的。src是項(xiàng)目存放代碼的目錄,下面有兩個(gè)結(jié)構(gòu)相同的目錄main和test,其中我們?cè)趍ain目錄下編寫代碼,test編寫測(cè)試代碼,這里先不使用測(cè)試,可以將test目錄刪除。右側(cè)展示的就是pom.xml文件的內(nèi)容:
勾選右上角的Enable Auto-Import,這樣Idea就會(huì)自動(dòng)下載項(xiàng)目所需的依賴包。還要注意中間的Scala版本,選擇自己使用的版本。
在下圖中的dependencies標(biāo)簽下可以添加項(xiàng)目的依賴:
每一個(gè)依賴都在一個(gè)dependency標(biāo)簽下,其中包括groupID、artifactID和version。如果不知道依賴包的這些內(nèi)容的話,可以在這里進(jìn)行查詢,查詢結(jié)果就有這些信息。比如要查詢spark的依賴,有如下的結(jié)果:
選擇要添加的依賴,進(jìn)入后選擇相應(yīng)的版本號(hào),下面就有maven需要的一些信息,同時(shí)還包括其它包管理工具的信息,比如sbt:
就可以復(fù)制到pom.xml文件中了。
maven會(huì)自動(dòng)下載pom.xml中添加的依賴包,不用我們自己添加,省去了很多麻煩。
之后就可以寫代碼了,在src/main/scala/com/liu下新建Scala類,選擇類型為Object,填寫類名,就可以編寫代碼了。作為示例,這里是一個(gè)wordcount的例子:
package com.liu/*** Created by hadoop on 16-3-28.*/ import org.apache.spark.{SparkContext,SparkConf} object Test {def main(args:Array[String]): Unit ={val conf=new SparkConf()val sc=new SparkContext(conf)val text=sc.textFile("file:///usr/local/spark/README.md")val result=text.flatMap(_.split(' ')).map((_,1)).reduceByKey(_+_).collect()result.foreach(println)} }這里不介紹代碼的具體含義。代碼寫好后,需要生成jar包并提交到spark上運(yùn)行。下面的步驟來(lái)生成jar包。依次選擇File->Project Structure->Artifacts,如下圖:
單擊中間的綠色加號(hào),選擇JAR->from modules with dependencies,如下圖:
在Main Class中選擇項(xiàng)目的主要類,OK即可。結(jié)果如下:
中間的Output Layout會(huì)列出所有的依賴包,我們要提交到Spark上,所以不需要這里的Spark和Hadoop依賴包,刪除來(lái)節(jié)約空間,不過不要?jiǎng)h除最后的compile output,要不然就生不成jar包了。點(diǎn)擊OK完成配置。
之后選擇Build->Build Artifact->Build,就可以生成jar包了,結(jié)果如下圖:
上圖中多了一個(gè)out文件夾,下面有一個(gè)jar包,表明生成成功。
5、提交Spark應(yīng)用
生成了jar包后就可以使用spark-submit來(lái)提交應(yīng)用了,使用如下命令:
spark-submit --class "com.liu.Test" ~/SparkDemo.jar就可以提交應(yīng)用。結(jié)果如下:
表明運(yùn)行成功,列出了單詞的計(jì)數(shù)統(tǒng)計(jì)。
至此,Spark的Idea開發(fā)環(huán)境搭建成功。
總結(jié)
以上是生活随笔為你收集整理的Intellij Idea搭建Spark开发环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀里的赵云这个英雄为什么也不能用金
- 下一篇: 成都欢乐谷水上项目有哪些