本文翻自官方博客,略有添加:https://github.com/mesos/spark/wiki/Spark-Programming-Guide
Spark发指南
从高的面看,其实每一个Spark的用,都是一个Driver类,通运行用户定义的main函,在集群上行各种并发操作和算
Spark提供的最主要的抽象,是一个性分布式据集(RDD),它是一种特殊集合,可以分布在集群的点上,以函式程操作集合的方式,行各种各样的并发操作。它可以由hdfs上的一个文件建而,或者是Driver程序中,从一个已经存在的集合而。用户可以据集存在存中,它被有效的重用,行并发操作。最后,分布式据集可以自动的从点失中恢复,再次行算。
Spark的第二个抽象,是并行算中使用的共享变量。默,Spark并发运行一个函,它是以多个的task,在不同的点上运行,它递每一个变量的一个拷贝,到每一个立task使用到的函中,因此些变量并非共享的。然而有候,我需要在任务中能够被共享的变量,或者在任务与动程序之间共享。Spark支持两种类型的共享变量:
广播变量: 可以在存的所有点中被,用于存变量(只)
累加器: 只能用做加法的变量,例如和求和
本指南通一些样例展示些特征。者最好是熟悉Scala,尤其是包的法。留意,Spark可以通Spark-Shell的解器行交互式运行。你可能会需要它。
接入Spark
了一个Spark的用,你需要Spark和它的依,加入到CLASSPATH中。最的方法,就是运行sbt/sbt assemblySpark和它的依,,打到一个Jar里面core/target/scala_2.9.1/spark-core-assembly-0.0.0.jar,然后它加入到你的CLASSPATH中。或者你可以spark发布到maven的本地存中,使用sbt/sbt publish。它在织org.spark-project下成一个spark-core.
另外,你会需要入一些Spark的类和式, 下面几行加入到你程序的部
import spark.SparkContext
import SparkContext._
志在山顶的人,不会贪念山腰的风景。