天天看點

在 idea 裡面編寫 WordCount 程式

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

繼續閱讀