Spark基于scala api

使用spark 对以下内容进行词频统计  (使用Scala语言)

hello world
hello java
hello scala
hello spark

  代码如下:

/**
  * Spark基于 scala api 的词频统计
  */
object WordCount {

  def main(args: Array[String]): Unit = {
    // 初始化 SparkConf  setMaster:设置运行模式 setAppName: 设置应用名称
    val conf = new SparkConf().setMaster("local").setAppName("wordcount")
    // 初始化 SparkContext 对象
    val sc = new SparkContext(conf)
    // 使用SparkContext对象读取文件
    val initRdd = sc.textFile("G:\\test\\wc\\a.txt")
    // 使用flatMap算子对原始数据进行拆分
    val flatmapRdd = initRdd.flatMap(x=>x.split(" "))
    // 使用 map算子 转换每个单词 形如 (word,1)
    val mapRdd = flatmapRdd.map(x=>(x,1))
    // 使用 reudecByKey 统计每个单词的出现的次数
    val reduceRdd = mapRdd.reduceByKey(_+_)
    // 输出每个单词和出现次数
    reduceRdd.foreach(x=>println(x))
  }
}

 

posted @ 2018-10-26 13:27  Jacky-yc  阅读(824)  评论(0编辑  收藏  举报