版权声明:原创作品转载必须标明出处,谢谢配合! https://blog.csdn.net/qq_38704184/article/details/86315649
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
/**
* 创建SparkConf()并设置App名称
* local指本地
* 2代表在本地起两个线程
*/
val conf = new SparkConf().setAppName("WC").setMaster("local[2]")
/**
* 创建SparkContext,该对象是提交的Spark App的入口
*/
val sc = new SparkContext(conf)
/**
* 使用sc创建RDD并执行相应的transformation和action
* 1:按照空格进行切分
* 2:将得到的数组中的元素组合成(单词,1)的形式
* 3:统计相同的key出现多少次
* 4:根据出现的次数将元组进行排序,默认是升序,false代表降序
* 5:保存到相应的本地目录下
*/
sc.textFile("E:\\words.txt").
flatMap(_.split(" ")).
map((_,1)).
reduceByKey(_+_,1).
sortBy(_._2,false).
saveAsTextFile("E:\\outputFile")
//关闭资源
sc.stop()
}
}