[译]Spark 2.1.0官方文档翻译

注:
1. 本文链接中,包含[]的为已翻译的文档链接,不包含的为官方文档链接。
2. 涉及到编程语言的部分,以翻译Scala的部分为主

Spark概述

Apache Spark是一个快速的,通用的集群计算系统。在Java,Scala,Python和R语言中提供了高层API,并提供一个支持一般图形计算的优化引擎。Spark支持一个丰富的高层工具集,包括Spark SQL用于SQL和结构化数据处理,MLLib用于机器学习,GraphX用于图处理和Spark Streaming。

下载

从官网下载页面获取Spark。本文档适用于Spark 2.1.0版本。Spark为使用HDFS和YARN而需要用到Hadoop客户端库。下载包是为适配主流Hadoop版本预先打包好的。用户还可以下载"Hadoop free"二进制文件,然后通过配置Spark的classpath在任意版本的Hadoop中运行Spark。Scala和Java用户可以使用maven cooridnates在项目中包含Spark。将来Python用户也可以从PyPI中安装Spark。

如果想要从源码编译Spark,访问构建Spark。

Spark可以在Windows和类UNIX系统(如Linux,Mac OS)上运行。Spark很容易在一台机器上本地运行——你需要做的就是在系统PATH上安装了Java,或者在JAVA_HOME环境变量中指定了Java的安装路径。

Spark可以运行在Java 7+,Python 2.6+/3.4+,R 3.1+环境上。对于Scala API,Spark 2.1.0使用的是Scala 2.11。你需要使用一个可兼容的Scala版本(2.11.x)。

请注意,从Spark 2.0.0开始,对Java 7和Python 2.6的支持已弃用,从Spark 2.1.0开始,对Scala 2.10和Hadoop 2.6之前版本的支持已弃用,在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选项指定了分布式集群的master URL,local以单线程在本地运行,local[N]以N个线程在本地运行。你应该首先使用local来进行测试。完整的选项列表,可使用--help选项来运行Spark。

Spark也提供了Python API。要在Python解释器中以交互方式运行Spark,使用bin/pyspark

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

Spark也提供了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]

Spark也提供了R语言的示例应用程序,例如,

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

在集群上运行

Spark集群模式概述解释了在集群上运行Spark的关键概念。Spark可以独立运行,或者在多个现有的集群管理器上运行。目前提供了集中部署选项:

  • Standalone Deploy Mode:在私有集群上部署Spark最简单的方法
  • Apache Mesos
  • Hadoop YARN

从这里开始

编程指南:

  • [Quick Start]:Spark的快速介绍,从这开始吧!
  • [Spark Programming Guide]:Spark在所有支持语言(Scala,Java,Python,R)中的详细概述。
  • 构建在Spark上的模块:
    • Spark Streaming:处理实时数据流
    • Spark SQL, Datasets, and DataFrames:支持结构化数据和关系查询
    • MLlib:内置的机器学习库
    • GraphX:Spark用于图形处理的新API

API文档:

  • Spark Scala API (Scaladoc)
  • Spark Java API (Javadoc)
  • Spark Python API (Sphinx)
  • Spark R API (Roxygen2)

部署指南:

  • 集群概述:在集群运行时的概念和组件概述
  • 提交应用程序:打包和部署应用程序
  • 部署模式:
    • Amazon EC2:让你在5分钟之内在EC2上启动集群的脚本
    • Standalone Deploy Mode:不使用第三方集群管理器的情况下快速启动独立集群
    • Mesos:使用Apache Mesos部署一个私有集群
    • YARN:在Hadoop NextGen (YARN)上部署Spark

其它文档

  • 配置:通过配置系统定制Spark
  • 监控:跟踪你的应用程序的行为
  • 优化指南:优化性能和内存使用的最佳实践
  • 任务调度:在应用程序内和跨应用程序调度资源
  • 安全性:Spark的安全性支持
  • 硬件配置:对集群硬件配置的建议
  • 与其它存储系统集成
    • OpenStack Swift
  • 构建Spark:使用Maven系统来构建Spark
  • 给Spark做贡献
  • 第三方项目:相关的第三方Spark项目

外部资源

  • Spark主页
  • Spark社区:资源,包括一些当地的聚会
  • StackOverflow tag apache-spark
  • 邮件列表:可以在这里问Spark的问题
  • AMP Camps:在加州大学伯克利分校的一系列训练营,关于Spark,Spark Streaming,Mesos以及更多内容的特色演讲和练习。视频,幻灯片和练习可以在网上免费获取。
  • 代码示例:可以在Spark(Scala, Java, Python, R)的examples子文件夹中获取更多示例。

你可能感兴趣的:([译]Spark 2.1.0官方文档翻译)