spark WordCount

时间:2021-07-16
本文章向大家介绍spark WordCount,主要包括spark WordCount使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

spark实现Wordcount

package com.shujia.spark.core

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

object Demo1WordCount {
  def main(args: Array[String]): Unit = {
    /**
      *
      * 1、创建spark 环境
      *
      */
    //配置文件对象
    val conf = new SparkConf()
    //任务名
    conf.setAppName("wc")

    //指定运行方法 local:本地运行
    conf.setMaster("local")

    //创建 spark 上下文对象,spark入口
    val sc = new SparkContext(conf)

    /**
      *
      * RDD:弹性的分布式数据集
      * 可以理解为一个集合
      *
      */
    //1、读取数据
    val linesRDD: RDD[String] = sc.textFile("data/words.txt")

    //2、将单词切分出来
    val wordsRDD: RDD[String] = linesRDD.flatMap(line=>line.split(","))

    //3、按照单词进行分组
    val groupRDD: RDD[(String, Iterable[String])] = wordsRDD.groupBy(word=>word)

    //4、统计单词的数量
    val countRDD: RDD[(String, Int)] =groupRDD.map{
      case(word:String, ws:Iterable[String])=>

        //计算单词数量

      val count: Int = ws.size
        (word,count)
    }

    //5、整理数据
    val resultRDD: RDD[String] =countRDD.map{
      case (word:String,count: Int)=>
        word+"\t"+count
    }

    //6、保存数据
    resultRDD.saveAsTextFile("data/wc")



  }
}

原文地址:https://www.cnblogs.com/lipinbigdata/p/15022010.html