首页 > 技术文章 > Spark学习(一):Scala初始化单机Spark

grufield 2016-05-24 23:45 原文

程序的结构如下:

src:代码

lib: 存放spark的jar包

work:

      README.md:输入文件

      counts : 输出文件路径

              _SUCCESS: 程序执行成功的标志文件(空白文件)

              part-00000:结果文件

 

InitSpark.scala代码

package initialSpark

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD.rddToPairRDDFunctions

object InitSpark {

  def main(args: Array[String]) {
    //创建Spark Context
    val conf = new SparkConf()
      .setMaster("local") //单机模式
      .setAppName("My App") //应用名
    val sc = new SparkContext(conf)
    //读取输入文件
    val input = sc.textFile("./work/README.md")
    //用空格分隔输入文件,切分成一个个单词
    val words = input.flatMap { line => line.split(" ") }
    //将单词转化成键值对并计数
    val counts = words.map(word => (word, 1)) //转化成键值对
                      .reduceByKey((x, y) => x + y) //统计各个单词出现的次数
    //将处理结果出入到指定文件夹
    counts.saveAsTextFile("./work/counts")
  }
}

本文参照《Spark 快速大数据分析》

推荐阅读