利用Scala编写Wordcount并在spark框架下运行

来源:互联网 发布:淘宝黄妹子美国代购 编辑:程序博客网 时间:2024/04/28 19:13

文件名:WordCount.scala

import org.apache.spark.SparkContext._

import org.apache.spark.SparkContext

  object WordCount{

    def main(args:Array[String]){
      val sc =new SparkContext("local","master")    //SparkContext有四个参数,第一个参数是spark master的位置(spark://master:7077),在本地环境下可以用local表示;第二                                                                                           //个参数是程序名称,自定义一个字符串即可;第三个参数是spark安装目录;第四个是jar包存放位置。对与spark on yarn 而                                                                                                //言,前两个参数尤为重要。在本程序中后两个参数不写,这两个参数可以在运行命令中添加。
      val inputfile = sc.textFile("hdfs://master:9000/user/artical.txt")
      val count = inputfile.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_)    //这里的"=>" 符号是lambda表达式,即匿名函数,这里不做过多解释。
      println(count)
      count.saveAsTextFile("/home/hadoop/lly/20141101") 
    }   

  }

导出jar包,在命令行下运行命令hadoop@master:/usr/local/spark$ bin/spark-submit --class WordCount --master spark://master:7077 /home/hadoop/lly/scalaword.jar

0 0
原创粉丝点击