Apache Spark是一个快速和通用的集群计算系统。它提供Java,scala,Python、R语言的APIs,以及支持通常执行图形的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。html
从项目网站的下载页面获取Spark。本文档适用于Spark 2.1.0版本。 Spark使用Hadoop的客户端库用于HDFS和YARN。下载是预先打包的一些流行的Hadoop版本。用户还能够下载“Hadoop free”二进制文件,并经过扩充Spark的类路径,使用任何Hadoop版本运行Spark。 Scala和Java用户可使用其maven cooridnates在他们的项目中包含Spark,而且在未来Python用户也能够从PyPI安装Spark。java
若是你想从源代码编译Spark,请访问Building Spark。python
Spark在Windows和类UNIX系统(例如Linux,Mac OS)上运行。它很容易在一台计算机上本地运行 – 全部你须要的是在系统PATH上安装java,或者JAVA_HOME环境变量指向Java安装位置。git
Spark运行于Java 7+,Python 2.6 + / 3.4 +和R 3.1+。对于Scala API,Spark 2.1.0使用Scala 2.11。您将须要使用兼容的Scala版本(2.11.x)。github
请注意,Java 7和Python 2.6的支持在从Spark 2.0.0已过期,而且对于Scala 2.10和2.6以前的Hadoop版本的支持在Spark 2.1.0中已过期,而且可能会在Spark 2.2.0中被删除。sql
Spark附带了几个示例程序。 Scala,Java,Python和R示例在 examples/src/ main目录中。 要运行Java或Scala示例程序之一,请在顶级Spark目录中使用bin / run-example [params]。 (在后台,这将调用更通用的spark提交脚本来启动应用程序)。 例如,shell
./bin/run-example SparkPi 10
您还能够经过Scala shell的修改版本以交互方式运行Spark。 这是一个学习框架的好方法。apache
./bin/spark-shell --master local[2]
--master
选项指定分布式集群的master URL,或者本地使用一个线程运行在本地,或者使用local [N]在本地使用N个线程运行。 您应该首先使用local进行测试。 有关选项的完整列表,请运行Spark shell 使用–help选项。编程
Spark还提供了一个Python API。 要在Python解释器中以交互方式运行Spark,请使用bin / pyspark
:swift
./bin/pyspark --master local[2]
示例应用程序也在Python中提供。 例如,
./bin/spark-submit examples/src/main/python/pi.py 10
Spark自1.4以来提供了一个实验R API(仅包括DataFrames API)。 要在R解释器中以交互方式运行Spark,请使用bin / sparkR
:
./bin/sparkR --master local[2]
示例应用也在R中提供。例如,
./bin/spark-submit examples/src/main/r/dataframe.R
Spark集群模式概述解释了在集群上运行的关键概念。 Spark能够单独运行,也能够经过多个现有集群管理器运行。 它目前提供了几个部署选项: