Apache Spark是一个快速的通用集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持常规执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括星火SQL用于SQL和结构化数据的处理,MLlib机器学习,GraphX用于图形处理和星火流。
默认情况下,Spark中的安全性处于关闭状态。这可能意味着您默认情况下容易受到攻击。下载并运行Spark之前,请参阅Spark Security。
从项目网站的下载页面获取Spark 。本文档适用于Spark版本2.4.4。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
在系统上安装PATH
或JAVA_HOME
指向Java安装的环境变量。
Spark在Java 8,Python 2.7 + / 3.4 +和R 3.1+上运行。对于Scala API,Spark 2.4.4使用Scala 2.12。您将需要使用兼容的Scala版本(2.12.x)。
请注意,自Spark 2.2.0起已删除了对Java 7,Python 2.6和2.6.5之前的旧Hadoop版本的支持。从2.3.0版本开始,不再支持Scala 2.10。从Spark 2.4.1开始不支持Scala 2.11,它将在Spark 3.0中删除。
Spark附带了几个示例程序。目录中有Scala,Java,Python和R示例 examples/src/main
。要运行Java或Scala示例程序之一,请 bin/run-example <class> [params]
在顶级Spark目录中使用。(在后台,这将调用更通用的 spark-submit
脚本来启动应用程序)。例如,
./bin/run-example SparkPi 10
您还可以通过修改后的Scala shell版本以交互方式运行Spark。这是学习框架的好方法。
./bin/spark-shell --master local[2]
该--master
选项指定分布式集群的 主URL,或local
使用一个线程local[N]
在本地运行,或使用N个线程在本地运行。您应该先从local
进行测试开始 。有关选项的完整列表,请运行带有该--help
选项的Spark shell 。
Spark还提供了Python API。要在Python解释器中交互式运行Spark,请使用 bin/pyspark
:
./bin/pyspark --master local[2]
Python中还提供了示例应用程序。例如,
./bin/spark-submit examples/src/main/python/pi.py 10
从1.4开始,Spark还提供了实验性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既可以单独运行,也可以在多个现有集群管理器上运行。当前,它提供了几个部署选项:
编程指南:
API文件:
部署指南:
其他文件:
外部资源: