Spark -- WordCount程序

Spark -- WordCount程序

package com.bigdata.example

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


object WordCount {
  def main(args: Array[String]): Unit = {
    /**
      * 创建spark的配置对象。设置spark程序运行时候的配置空间
      * setAppName 用来设置APP的名称
      * setMaster 用来设置程序的运行模式,本地 还是 集群。
      *     本地可以设置local【*】,
      *     集群可以以Standalone 模式 ,需要使用sparl://host:port
      *
      */
    val conf = new SparkConf()
    conf.setAppName("WordCount")
    conf.setMaster("lical[2]")
    /**
      *  sc 是 spark程序的唯一入口
      *  sc核心作用,初始化 spark 和核心入口,所有组件,包括DAGScheduler 、 Taskscheduker
      *  还负责 spark程序向master 注册程序
      */
    val sc = new SparkContext(sc)

    /**
      * 根据具体的数据源,通过sparkcontext创建rdd
      * rdd 的创建、外部来源,通过Scala的集合使用然而产生rdd,通过rdd产生rdd
      */
    var line = sc.textFile("localPath",2)
    /**
      * 用函数进行计算,统计词频
      */
    var words = line.flatMap(_.split(",")).flatMap(_.split(" ")).filter(word =>  word != "   ")

    var pairs = words.map(word => (word,1))

    var wordCounts = pairs.reduceByKey(_+_)
    //开始计算
    var result = wordCounts.collect()
    //循环
    result.foreach(println(_))

    sc.stop()
   }
}

 

转载于:https://www.cnblogs.com/Tonyzczc/p/10424417.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值