Spark概述

Apache Spark是一个快速的通用集群计算系统。它提供Java,Scala,Python和R的高级API,以及支持常规执行图的优化引擎。它还支持一组丰富且更高级别的工具,包括用于SQL和结构化数据的处理的SparkSQL,用于机器学习的MLlib,用于图形处理的GraphXSpark Streaming

下载

从项目网站的下载页面中获取Spark 。本文档针对Spark版本2.2.0。Spark将Hadoop的客户端库用于HDFS和YARN。下载已预先打包为一些流行的Hadoop版本。用户还可以下载“免费的Hadoop”二进制文件,并通过扩展Spark的classpath在任何Hadoop版本上运行Spark 。Scala和Java用户可以使用其Maven坐标将Spark包含在他们的项目中,将来Python用户还可以从PyPI安装Spark。
如果您想从源代码构建Spark,请访问Building Spark
Spark可在Windows和类似UNIX的系统(例如Linux,Mac OS)上运行。在一台机器上本地运行很容易-您所需要做的就是java在系统上安装PATHJAVA_HOME指向Java安装的环境变量。
Spark可在Java 8 +,Python 2.7 + / 3.4 +和R 3.1+上运行。对于Scala API,Spark 2.2.0使用Scala 2.11。您将需要使用兼容的Scala版本(2.11.x)。
请注意,自Spark 2.2.0起已删除了对Java 7,Python 2.6和2.6.5之前的旧Hadoop版本的支持。
请注意,从Spark 2.1.0开始不支持Scala 2.10,并且在Spark 2.3.0中可能会删除它。

运行示例和Shell脚本

Spark附带了几个示例程序。
目录中有Scala,Java,Python和R示例 examples/src/main
要运行Java或Scala示例程序中某一个,请在Spark的顶级目录中使用命令bin/run-example <class> [params]
(在后台,这将调用更通用的 spark-submit脚本来启动应用程序)。例如,

  1. ./bin/run-example SparkPi 10

您还可以通过Scala shell以交互方式运行Spark。

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

其中--master用来指定分布式集群主URLlocal用来使用一个线程在本地运行,或使用N个线程在本地运行local[N]
您应该先从local开始进行测试 。
Spark还提供了Python API。要在Python解释器中交互式运行Spark,请使用 bin/pyspark

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

Python中还提供了示例应用程序。例如,

  1. ./bin/spark-submit examples/src/main/python/pi.py 10

从1.4开始,Spark还提供了实验性R API(仅包含DataFrames API)。
要在R解释器中交互式地运行Spark,请使用bin/sparkR

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

R中还提供了示例应用程序。例如,

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

在集群上启动

Spark集群模式概述介绍了在集群上运行的关键概念。Spark既可以单独运行,也可以在多个现有集群管理器上运行。当前,它提供了几种部署选项:

接下来

编程指南:

API文件:

部署指南:

其他文件:

外部资源: