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