本文詳細闡述如何搭建Spark集羣,並分別使用Maven和SBT編譯部署Spark,最後在CentOS中安裝IDEA進行開發。html
CentOS 7java
JDK:1.8linux
Spark:2.0.0、2.2.0apache
Scala:2.11.8ide
Hadoop: 2.7oop
Maven:3.3.9ui
如下全部步驟均親自完成並詳細截圖!(本文爲原創,轉載請標明本文地址,謝謝!)idea
本文承接上文:Spark集羣環境搭建+Maven、SBT編譯部署+IDEA開發(一)spa
下載:https://www.jetbrains.com/idea/download/#section=linuxscala
[spark@master ~]$ mv /home/spark/Downloads/ideaIC-2017.3.4.tar.gz /spark/soft/ [spark@master ~]$ cd /spark/soft/ [spark@master soft]$ tar -zxf ideaIC-2017.3.4.tar.gz
啓動IDEA
[spark@master soft]$ cd idea-IC-173.4548.28/ [spark@master idea-IC-173.4548.28]$ ./bin/idea.sh
ok-接受協議-ok-選擇皮膚等配置-進入
選擇左邊第二個scala,我第一次就選錯了o(╥﹏╥)o
完成後重啓
添加jar()
添加java Library:選擇$SPARK_HOME/jar
/spark/work/mvn1/spark-2.0.0-bin-dev/jars
建立目錄
src/main/scala
結果多是
也多是
建立WordCount.scala
輸入WordCount,選擇Object
獲得
寫入程序代碼
package main.scala import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WordCount") val sc = new SparkContext(conf) val rdd = sc.textFile(args(0)) val wordCount = rdd.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_) val wordSort = wordCount.map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)) wordSort.saveAsTextFile(args(1)) sc.stop() } }
能夠看出來這段代碼是單詞計數的,接下來要配置一下被統計文件的路徑
Run-Edit Configuration
填寫輸入和輸出的路徑,空格分割
file:///spark/work/mvn1/spark-2.0.0-bin-dev/README.md file:///home/spark/IdeaProjects/firsttest/src/main/scala
接下來運行方式多樣
1直接運行
Run-Run...
選擇運行WordCount
2打包運行
Build-Build Artifacts...
Build後,將打包好的文件移到Spark目錄下
未完待續。。。