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() } }