实现简单的SparkWordCount

匿名 (未验证) 提交于 2019-12-03 00:36:02
package ***

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

class SparkWC {

}

object SparkWC {
  def main(args: Array[String]): Unit = {

    // 文件信息配置类,并设置应用程序名称(setAppName)
    // local[2]:本地启用两个线程模拟集群运行人物
    // local[*]:本地有多少个空闲线程就启用多少个线程运行任务
    val conf: SparkConf = new SparkConf().setAppName("SparkWC").setMaster("local[*]")

   // 创建Spark的上下文对象,也是他提交任务到集群的入口类
    val sc: SparkContext = new SparkContext(conf)

   // 读取数据
    val lines: RDD[String] = sc.textFile(args(0))

   // 处理数据
    val words: RDD[String] = lines.flatMap(_.split(" "))
    val tup: RDD[(String, Int)] = words.map((_, 1))
    val reduced: RDD[(String, Int)] = tup.reduceByKey(_ + _)
    val res: RDD[(String, Int)] = reduced.sortBy(_._2, false) // 这里的false是倒序,如果是true则相反

    println(res.collect.toBuffer)

  }
}

如果在本地运行需要指定路径

转载请标明出处:实现简单的SparkWordCount
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!