1.使用IDEA创建Maven项目
2.导入pom.xml文件
注意: 这里的Scala Spark Hadoop版本必须按照集群上的修改,特别是Scala和Spark的,要和你集群上的版本号一致,可以在Spark集群中使用Spark Shell模式查看版本号
3.编写WordCount程序 package cn.ysjh0014 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ScalaWordCount { def main(args: Array[String]): Unit = { //创建Spark配置,应用程序的名字 val conf = new SparkConf().setAppName(“ScalaWordCount”) //创建Spark程序执行的入口 val sc = new SparkContext(conf) //指定以后从哪读取数据创建RDD(弹性分布式数据集) val line = sc.textFile(args(0)) //切分压平 val word = line.flatMap(.split(" “)) //将单词和1组成元组 val WordOne = word.map((, 1)) //按照key进行聚合 val reduce = WordOne.reduceByKey(_ + ) //排序 val sort = reduce.sortBy(._2, false) //将结果保存到hdfs sort.saveAsTextFile(args(1)) //释放资源 sc.stop() } }
4.使用Maven打成jar包
在IDEA中view—->Tool Windows—>Maven Projects—>Package,jar包在target下,有两个jar包,original-Spark-1.0-SNAPSHOT.jar是只将代码打成了jar包,Spark-1.0-SNAPSHOT.jar是将所有依赖也打成了jar包
5.提交到Spark集群上测试 bin/spark-submit \ –master spark://cdh0:7077 \ –class cn.ysjh0014.ScalaWordCount \ 包名+项目名 /opt/package/original-Spark-1.0-SNAPSHOT.jar \ jar包所在目录 hdfs://cdh0:8020/usr/ys/input/test.txt \ 读取数据的hdfs路径 hdfs://cdh0:8020/usr/output 保存数据到hdfs的路径
6.查看运行结果
至此运行成功
最后修改于 2018-10-11

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。