首页 > 其他 > 详细

Spark学习(一) 基本操作

时间:2014-11-16 21:38:02      阅读:327      评论:0      收藏:0      [点我收藏+]

先来一个简单的spark小程序,这是官网上的小例子,目的就是统计spark下面的README文档中包含字母a和字母b的个数,然后

打印,代码如下:

object BasicStandaloneApp extends App{
  val logFile = "/home/xiaoyi/software/spark/README.md" // Should be some file on your system
  val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
  val sc = new SparkContext(conf)
  val logData = sc.textFile(logFile, 2).cache()
  val numAs = logData.filter(line => line.contains("a")).count()
  val numBs = logData.filter(line => line.contains("b")).count()
  println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
由于scala代码一般是使用sbt进行项目管理,所以我们还需要在相应的sbt文件中添加spark相依的依赖,如下所示:
name := "learning_spark"

version := "1.0"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.1.0"

这是sbt管理文件的基本格式.

从这个例子中我们可以看出spark程序的基本结构,spark的程序需要两个基本的类,第一个是SparkConf它负责spark程序的基本配置.比如上面例子中设置master 为"local"的话,就表示程序在本地执行,另外一个非常重要的类是SparkContext, spark程序的运行都是有它的实例进行启动和空值.

对于上面的例子如果在IDE中的话我们就可以直接右键run了,效果如下:
bubuko.com,布布扣

虽然这样的执行比较简单,但是终究还是得放到saprk容器或者说取集群取跑的,具体的也就是先将你的应用打个包,然后用spark submit提交即可

命令如下:

spark-submit --class BasicStandaloneApp --master local target/scala-2.10/learning_spark_2.10-1.0.jar 

local是spark master所在地址
任务监控界面如下:
bubuko.com,布布扣

Spark学习(一) 基本操作

原文:http://blog.csdn.net/youmengjiuzhuiba/article/details/41175199

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!