Spark 2.1.1 官方文档翻译 Overview(概览)
Spark 概览
Apache Spark是一个快速的通用集群计算系统。它提供Java,Scala,Python和R的高级API,以及支持常规执行图的优化引擎。它还支持丰富的高级工具集,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。
下载
从项目网站的下载页面获取Spark。本文档适用于Spark版本2.1.1。Spark将Hadoop的客户端库用于HDFS和YARN。下载的包是少数主流的Hadoop版本预先打包的。用户还可以下载“免费的Hadoop”二进制文件,并通过扩展Spark的类路径来在任何Hadoop版本上运行Spark。Scala和Java用户可以使用maven将Spark包含在他们的项目中,将来Python用户也可以从PyPI安装Spark。
如果您想从源代码构建Spark,请访问Building Spark。
Spark可以在Windows和类似UNIX的系统上运行(例如Linux,Mac OS)。在一台计算机上本地运行很容易-您所需要做的就是在系统PATH上安装Java或指向Java安装的JAVA_HOME环境变量。
Spark可在Java 7+,Python 2.6+/3.4+和R 3.1+上运行。对于Scala API,Spark 2.1.1使用Scala 2.11。您将需要使用兼容的Scala版本(2.11.x)。
请注意,从Spark 2.0.0开始不支持Java 7和Python 2.6,从Spark 2.1.0开始不支持Scala 2.10和2.6之前的Hadoop版本,并且可能在Spark 2.2.0中删除。
运行示例和shell脚本
Spark附带了几个示例程序。Scala,Java,Python和R的示例位于examples/src/main目录中。要运行Java或Scala示例程序之一,请使用顶级Spark目录中的bin/run-example[params]。(在后台,这将调用更通用的spark-submit脚本来启动应用程序)。例如:
./bin/run-example SparkPi 10
您也可以通过修改后的Scala shell版本以交互方式运行Spark。这是学习框架的一个好方法。
./bin/spark-shell --master local[2]
--master选项指定分布式集群的主URL,local是以一个线程在本地运行,而local[N]以N个线程在本地运行。您应该首先使用本地进行测试。有关选项的完整列表,请使用--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既可以单独运行,也可以在多个现有集群管理器上运行。
-
Standalone Deploy Mode:在私有集群上部署Spark的最简单方法
-
Apache Mesos
-
Hadoop YARN
Where to Go from Here
编程指南:
-
Spark Streaming:处理实时数据流
-
Spark SQL,数据集和数据框架:支持结构化数据和关系查询
-
MLlib:内置的机器学习库
-
GraphX:Spark的新API用于图形处理
-
快速入门:Spark API快速入门;从这里开始!
-
Spark编程指南:以所有受支持的语言(Scala,Java,Python,R)详细介绍Spark
-
基于Spark构建的模块:
API文件:
-
Spark Scala API(Scaladoc)
-
Spark Java API(Javadoc)
-
Spark Python API(Sphinx)
-
Spark R API(Roxygen2)
部署指南:
-
Amazon EC2:可使您在大约5分钟内在EC2上启动集群的脚本
-
独立部署模式:无需第三方集群管理器即可快速启动独立集群
-
Mesos:使用Apache Mesos部署私有集群
-
YARN:在Hadoop NextGen(YARN)之上部署Spark
-
集群概述:在集群上运行时的概念和组件概述
-
提交应用程序:打包和部署应用程序
-
部署方式:
其他文件:
-
OpenStack迅捷
-
配置:通过其配置系统自定义Spark
-
监视:跟踪应用程序的行为
-
调优指南:优化性能和内存使用的最佳做法
-
作业调度:在Spark应用程序之间和内部调度资源
-
安全性:Spark安全性支持
-
硬件配置:有关群集硬件的建议
-
与其他存储系统集成:
-
构建Spark:使用Maven系统构建Spark
-
为Spark贡献
-
第三方项目:相关的第三方Spark项目
外部资源:
-
Spark主页
-
Spark社区资源,包括本地聚会
-
StackOverflow标签 apache-spark
-
邮件列表:在此处询问有关Spark的问题
-
AMP营地:加州大学伯克利分校的一系列训练营,其中包含有关Spark,Spark Streaming,Mesos等的讲座和练习。视频, 幻灯片和练习可在线免费获得。
-
代码示例:examplesSpark 的子文件夹(Scala, Java, Python, R)中也提供更多示例。