object WorldCount {
def main(args: Array[String]): Unit = {
// 创建SparkContext ,只有使用SparkContext 才可以向集群申请资源,
// 才可以创建 RDD
val conf = new SparkConf().setAppName("WorldCount")
val sc = new SparkContext(conf)
// 第一步创建RDD : 指定【以后】从HDFS 中读取数据创建RDD
// 读取 数据
val lines = sc.textFile(args(0))
// 对数据进行压平
val words = lines.flatMap(_.split(" "))
// 将单词和 一 组合
val wordAndOne = words.map((_, 1))
// 聚合(优点 :先在分区内进行局部聚合,在全局聚合)
val reduced = wordAndOne.reduceByKey(_ + _)
// 排序
val sorted = reduced.sortBy(_._2, false)
//调用Action将计算结果保存到HDFS中
sorted.saveAsTextFile(args(1))
// 释放资源
sc.stop()
}
}