zoukankan      html  css  js  c++  java
  • spark 词频统计

    spark 词频统计

    package com.imooc.bigdata.chapter02
    
    import org.apache.spark.{SparkConf, SparkContext}
    
    /**
      * 词频统计案例
      * 输入:文件
      * 需求:统计出文件中每个单词出现的次数
      * 1)读每一行数据
      * 2)按照分隔符把每一行的数据拆成单词
      * 3)每个单词赋上次数为1
      * 4)按照单词进行分发,然后统计单词出现的次数
      * 5)把结果输出到文件中
      * 输出:文件
      */
    object SparkWordCountApp {
    
      /**
        * master: 运行模式,local
        *
        */
      def main(args: Array[String]): Unit = {
        val sparkConf = new SparkConf().setMaster("local").setAppName("SparkWordCountApp")
        val sc = new SparkContext(sparkConf)
    
    
        // Spark特性:提供了80+高阶API
        val rdd = sc.textFile("E:\06-work\03-java\01-JavaCodeDome\SparkSqlCode\sparksql-train\data\input.txt")
    
        /**
          * 结果按照单词的出现的个数的降序排列
          */
    
        rdd.flatMap(_.split(" ")).map(word => (word, 1))
          .reduceByKey(_+_).map(x => (x._2, x._1)).sortByKey(false)
            .map(x=> (x._2, x._1))
          .saveAsTextFile("E:\06-work\03-java\01-JavaCodeDome\SparkSqlCode\sparksql-train\data\out")
          //.collect().foreach(println)
    
          //.sortByKey().collect().foreach(println)
            //.saveAsTextFile("file:///Users/rocky/IdeaProjects/imooc-workspace/sparksql-train/out")
          //.collect().foreach(println)
    
        //rdd.collect().foreach(println)
    
        sc.stop()
      }
    }
    

      

  • 相关阅读:
    Druid 配置_DruidDataSource参考配置
    Druid 配置 wallfilter
    Druid 配置_配置WebStatFilter
    Druid 配置_StatViewServlet配置
    Druid 配置_StatFilter
    Druid数据库连接池使用
    Spring泛型依赖注入
    java计算代码执行时间
    模板方法在Spring事务中的应用
    maven,阿里云国内镜像,提高jar包下载速度
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/13533879.html
Copyright © 2011-2022 走看看