Apache Spark 2.2.0 中文文档

来源:互联网 发布:c语言leap什么意思 编辑:程序博客网 时间:2024/05/22 14:52

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 Mesos
  • Hadoop 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-spark
  • Mailing Lists: 在这里询问关于 Spark 的问题
  • AMP Camps: 在 UC Berkeley(加州大学伯克利分校)的一系列的训练营中, 它们的特色是讨论和针对关于 Spark, Spark Streaming, Mesos 的练习, 等等。在这里可以免费获取视频, 幻灯片 和 练习题。
  • Code Examples: 更多示例可以在 Spark 的子文件夹中获取 (Scala, Java, Python, R)

原文地址: http://spark.apachecn.org/docs/cn/2.2.0/index.html

网页地址: http://spark.apachecn.org/

github: https://github.com/apachecn/spark-doc-zh(觉得不错麻烦给个 Star,谢谢!~)

原创粉丝点击