Spark集羣環境搭建+Maven、SBT編譯部署+IDEA開發(二)

      本文詳細闡述如何搭建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

一在CentOS中部署IDEA

下載: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目錄下

未完待續。。。

相關文章
相關標籤/搜索