Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

时间:2022-09-28 09:18:48

      本文详细阐述如何搭建Spark集群,并分别使用Maven和SBT编译部署Spark,最后在CentOS中安装IDEA进行开发。

CentOS 7

JDK:1.8

Spark:2.0.0、2.2.0

Scala:2.11.8

Hadoop: 2.7

Maven:3.3.9

以下所有步骤均亲自完成并详细截图!(本文为原创,转载请标明本文地址,谢谢!)

本文承接上文:Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(一)

一在CentOS中部署IDEA

下载:https://www.jetbrains.com/idea/download/#section=linux

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

[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

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

ok-接受协议-ok-选择皮肤等配置-进入

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)    

选择左边第二个scala,我第一次就选错了o(╥﹏╥)o

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

完成后重启

二开发程序

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

添加jar()

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

添加java Library:选择$SPARK_HOME/jar

/spark/work/mvn1/spark-2.0.0-bin-dev/jars

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

创建目录

 

src/main/scalaSpark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

结果可能是

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

也可能是

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

创建WordCount.scala

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

输入WordCount,选择Object

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

得到

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

写入程序代码

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()
}
}

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

可以看出来这段代码是单词计数的,接下来要配置一下被统计文件的路径

Run-Edit Configuration

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

填写输入和输出的路径,空格分割

file:///spark/work/mvn1/spark-2.0.0-bin-dev/README.md file:///home/spark/IdeaProjects/firsttest/src/main/scala

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

接下来运行方式多样

1直接运行

Run-Run... 

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

选择运行WordCount

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

2打包运行

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Build-Build Artifacts...

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(二)

Build后,将打包好的文件移到Spark目录下

未完待续。。。