美文网首页
Spark-实例0.Word Count

Spark-实例0.Word Count

作者: 悠扬前奏 | 来源:发表于2019-06-30 19:02 被阅读0次

    package com.junzerg

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

    object WordCount {
    def main(args: Array[String]): Unit = {
    /**
    * 获取编程入口
    * 1.初始化一个SparkContext对象
    /
    val conf: SparkConf = new SparkConf()
    conf.setAppName("WordCount")
    conf.setMaster("local")
    val sc: SparkContext = new SparkContext(conf)
    /
    *
    * 通过编程入口加载数据:
    * 1.使用textFile函数将输入文件转化成一个RDD
    /
    val lines: RDD[String] = sc.textFile("/Users/pengjunzhe/Downloads/spark-2.4.0-bin-hadoop2.7/README.
    /
    *
    * 对数据进行处理:
    * 1. 将数据每行字符串解析出单词
    * 2. 筛选只有字母的部分,也就是单词
    * 3. 将相同的单词放到一个组中
    * 4. 根据字母排序将RDD分区
    * 5. 统计每个组中每个单词出现的频率
    * 6. 筛选出现次数大于1的单词
    * 7.根据出现次数排序
    */
    val words = lines
    .flatMap(.split(" "))
    .filter(
    .matches("[A-Za-z]+"))
    .map((, 1))
    .partitionBy(new AlphaPartitioner(2))
    .reduceByKey(
    + )
    .filter(
    .2 > 1)
    .sortBy(
    ._2, false)

    /**
      * 对结果数据进行处理
      *   1、 存储结果/显示结果
      */
    words.foreachPartition(_.foreach(println(_)))
    
    /**
      * 结束关闭入口
      */
    sc.stop()
    

    }
    }

    相关文章

      网友评论

          本文标题:Spark-实例0.Word Count

          本文链接:https://www.haomeiwen.com/subject/ljjkcctx.html