跳转至

Spark Overview(翻译)

Apache Spark是一个快速并且通用的集群计算系统。它提供了high level的Java, Scala, Python 和 R 语言的api,以及一个经过优化的支持通用图表的引擎。它也支持非常丰富的工具库,例如Spark SQL用于sql和结构化数据的处理,MLlib用于机器学习,GraphX用于处理图,以及Spark Streaming

下载

下载页获取Spark。这个文档对应于Spark 2.0.2. Spark使用Hadoop为HDFS和YARN做的客户端库。下载的压缩文件打包了一些流行版本的Hadoop。用户也可以下载Hadoop免费版的二进制文件,并通过参数化Spark的classpath来使用任意版本的Hadoop来运行Spark

如果你想编译Spark的源码,访问Build Spark

Spark既可以运行在Windows, Unix, Mac OS等系统中。在本地运行Spark是非常简单的--你只需要安装了java,并JAVA_HOME环境即可。

Spark能够运行在Java 7+, Python 2.6+/3.4+ 以及 R 3.1+。Spark 2.0.2提供的Scala API需要使用 Scala 2.11。这意味着你需要一个兼容Scala 2.11的版本。

运行例子和shell

Spark 有一系列的样例程序。Scala, Java, Python 和 R的例子在examples/src/main文件夹下面。为了运行Java或者Scala的样例程序,在Spark一级目录下使用bin/run-example <class> [params](在幕后,这条命令调用了其它通用的spark-submit 脚本来登陆应用程序 )。例如,

./bin/run-example SparkPi 10

你也可以通过Scala Shell来运行Spark。这是学习框架非常好的方式。

./bin/spark-shell --master local[2]

--master选项确定了cluster的master的URL,local在本地运行一个线程,local[N]在本地运行N个线程。你可以使用local来启动测一下这点。使用--help选项可以获得所有的选项。

Spark也提供了Python API。要在Python接受器中运行Spark,使用bin/pyspark

./bin/pyspark --master local[2]

从1.4开始Spark也提供了实验性的R API(只包含了DataFrames APIs)。要在R解释器中运行Spark,使用bin/sparkR:

./bin/sparkR --master local[2]

也提供了R语言的样例应用程序。例如:

./bin/spark-submit examples/src/main/r/dataframe.R

登陆cluster

cluster mode overview解释了运行cluster的关键概念。Spark可以自己运行,也可以与几个已经存在的cluster manager一起运行。当前提供了几个发布的选项:

读完这篇文档接下来去哪里

Programming Guides:

API Docs:

发布指导:

  • Cluster Overview: 介绍当运行cluster的时候,你需要了解的概念和组件
  • 提交应用: 介绍打包和发布应用
  • 发布模式:
    • Amazon EC2: 介绍一些脚本帮你在5分钟内登陆运行在EC2上的cluster
    • 独立发布模式: 介绍不使用第三方集群管理软件快速登陆一个独立的cluster
    • Mesos: 介绍发布一个使用Apache Mesos的cluster
    • YARN: 介绍在Hadoop NextGen (YARN)上发布Spark

其它文档:

外部资源: