天天看点

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

继续阅读