地址:http://spark.apachecn.org/docs/cn/2.2.0/index.html#spark
地址:http://spark.apachecn.org/docs/en/2.2.0/index.html#spark
Spark 概述
Apache Spark 是一个快速的, 多用途的集群计算系统。 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎. 它还支持一组丰富的高级工具, 包括使用 SQL 处理结构化数据处理的
Spark SQL, 用于机器学习的
MLlib, 用于图计算的
GraphX, 以及
Spark Streaming。
下载
从该项目官网的
下载页面 获取 Spark. 该文档用于 Spark 2.2.0 版本. Spark可以通过Hadoop client库使用HDFS和YARN.下载一个预编译主流Hadoop版本比较麻烦. 用户可以下载一个编译好的Hadoop版本, 并且可以 通过
设置 Spark 的 classpath 来与任何的 Hadoop 版本一起运行 Spark. Scala 和 Java 用户可以在他们的工程中通过Maven的方式引入 Spark, 并且在将来 Python 用户也可以从 PyPI 中安装 Spark。
如果您希望从源码中编译一个Spark, 请访问
编译 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.2.0 使用了 Scala 2.11. 您将需要去使用一个可兼容的 Scala 版本 (2.11.x).
请注意, 从 Spark 2.2.0 起, 对 Java 7, Python 2.6 和旧的 Hadoop 2.6.5 之前版本的支持均已被删除.
请注意, Scala 2.10 的支持已经不再适用于 Spark 2.1.0, 可能会在 Spark 2.3.0 中删除。
运行示例和 Shell
Spark 自带了几个示例程序. Scala, Java, Python 和 R 示例在 examples/src/main 目录中. 要运行 Java 或 Scala 中的某个示例程序, 在最顶层的 Spark 目录中使用 bin/run-example <class> [params] 命令即可.(这个命令底层调用了
spark-submit 脚本去加载应用程序)。例如,
./bin/run-example SparkPi 10您也可以通过一个改进版的 Scala shell 来运行交互式的 Spark。这是一个来学习该框架比较好的方式。
./bin/spark-shell --master local[2]该 --master选项可以指定为
针对分布式集群的 master URL, 或者 以local模式 使用 1 个线程在本地运行, local[N] 会使用 N 个线程在本地运行.你应该先使用local模式进行测试. 可以通过–help指令来获取spark-shell的所有配置项. Spark 同样支持 Python API。在 Python interpreter(解释器)中运行交互式的 Spark, 请使用 bin/pyspark:
./bin/pyspark --master local[2]Python 中也提供了应用示例。例如,
./bin/spark-submit examples/src/main/python/pi.py 10从 1.4 开始(仅包含了 DataFrames APIs)Spark 也提供了一个用于实验性的
R API。 为了在 R interpreter(解释器)中运行交互式的 Spark, 请执行 bin/sparkR:
./bin/sparkR --master local[2]R 中也提供了应用示例。例如,
./bin/spark-submit examples/src/main/r/dataframe.R在集群上运行
该 Spark
集群模式概述 说明了在集群上运行的主要的概念。 Spark 既可以独立运行, 也可以在一些现有的 Cluster Manager(集群管理器)上运行。它当前提供了几种用于部署的选项:
Standalone Deploy Mode: 在私有集群上部署 Spark 最简单的方式
Apache MesosHadoop YARN快速跳转
编程指南:
快速入门: 简单的介绍 Spark API; 从这里开始!
Spark 编程指南: 在 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: 在不依赖第三方 Cluster Manager 的情况下快速的启动一个独立的集群
Mesos: 使用
Apache Mesos 来部署一个私有的集群
YARN: 在 Hadoop NextGen(YARN)上部署 Spark
Kubernetes (experimental): 在 Kubernetes 之上部署 Spark
其它文档:
配置: 通过它的配置系统定制 Spark
监控: 跟踪应用的行为
优化指南: 性能优化和内存调优的最佳实践
任务调度: 资源调度和任务调度
安全性: Spark 安全性支持
硬件挑选: 集群硬件挑选的建议
与其他存储系统的集成:
OpenStack Swift构建 Spark: 使用 Maven 来构建 Spark
给 Spark 贡献第三方项目: 其它第三方 Spark 项目的支持
外部资源:
Spark 首页Spark 社区 资源, 包括当地的聚会
StackOverflow tag apache-sparkMailing Lists: 在这里询问关于 Spark 的问题
AMP Camps: 在 UC Berkeley(加州大学伯克利分校)的一系列的训练营中, 它们的特色是讨论和针对关于 Spark, Spark Streaming, Mesos 的练习, 等等。在这里可以免费获取
视频,
幻灯片 和
练习题。
Code Examples: 更多示例可以在 Spark 的子文件夹中获取 (
Scala,
Java,
Python,
R)