下载中
从项目网站的 下载页面 获取 Spark。此文档适用于 Spark 版本 3.5.3。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 的平台上运行。这应该包括 x86_64 和 ARM64 上的 JVM。它可以很容易地在一台机器上本地运行——您只需在系统
     
      PATH
     
     中安装
     
      java
     
     ,或者
     
      JAVA_HOME
     
     环境变量指向 Java 安装目录。
    
Spark 在 Java 8/11/17、Scala 2.12/2.13、Python 3.8+ 和 R 3.5+ 上运行。 在 Spark 3.5.0 版本中,Java 8 版本 8u371 之前的支持已被弃用。 使用 Scala API 时,应用程序必须使用与 Spark 编译时相同版本的 Scala。 例如,当使用 Scala 2.13 时,使用为 2.13 编译的 Spark,并且代码/应用程序也应为 Scala 2.13 编译。
     对于 Java 11,设置
     
      -Dio.netty.tryReflectionSetAccessible=true
     
     是 Apache Arrow 库所必需的。这可以防止出现
     
      java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.(long, int) not available
     
     错误,当 Apache Arrow 在内部使用 Netty 时。
    
运行示例和Shell
     Spark 附带了几个示例程序。Python、Scala、Java 和 R 的示例位于
     
      examples/src/main
     
     目录中。
    
     要在Python解释器中以交互方式运行Spark,请使用
     
      bin/pyspark
     
     :
    
./bin/pyspark --master "local[2]"
     提供了用Python编写的示例应用程序。,例如:
./bin/spark-submit examples/src/main/python/pi.py 10
     
     要运行Scala或Java的示例程序,请在顶级Spark目录中使用
     
      bin/run-example
      
     。(在后台,这会调用更通用的
     
      
       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。
    
     自1.4版本以来,Spark提供了一个
     
      R API
     
     (仅包含DataFrame API)。
要在R解释器中交互式运行Spark,请使用
     
      bin/sparkR
     
     :
    
./bin/sparkR --master "local[2]"
     还提供了R中的示例应用程序。例如:
./bin/spark-submit examples/src/main/r/dataframe.R
     使用Spark Connect在任何地方运行Spark客户端应用程序
Spark Connect 是在 Spark 3.4 中引入的一种新的客户端-服务器架构,它解耦了 Spark 客户端应用程序,并允许远程连接到 Spark 集群。客户端和服务器之间的分离使得 Spark 及其开放生态系统可以从任何地方利用,并嵌入到任何应用程序中。在 Spark 3.4 中,Spark Connect 为 PySpark 提供了 DataFrame API 支持,并在 Scala 中支持 DataFrame/Dataset API。
要了解更多关于 Spark Connect 及其使用方式,请参阅 Spark Connect 概述 。
在集群上启动
Spark 集群模式概述 解释了在集群上运行的关键概念。Spark 可以单独运行,也可以在多个现有的集群管理器上运行。目前提供几种部署选项:
- Standalone Deploy Mode : 在私有集群上部署Spark的最简单方法
 - Apache Mesos (已弃用)
 - Hadoop YARN
 - Kubernetes
 
从这里去哪里
编程指南:
- 快速入门 : Spark API 的简要介绍;从这里开始!
 - RDD 编程指南 : Spark 基础概述 - RDD(核心但老旧的 API)、累加器和广播变量
 - Spark SQL、数据集和数据框 : 使用关系查询处理结构化数据(比 RDD 更新的 API)
 - 结构化流处理 : 使用关系查询处理结构化数据流(使用数据集和数据框,比 DStreams 更新的 API)
 - Spark 流处理 : 使用 DStreams 处理数据流(旧 API)
 - MLlib : 应用机器学习算法
 - GraphX : 处理图形
 - SparkR : 在 R 中使用 Spark 处理数据
 - PySpark : 在 Python 中使用 Spark 处理数据
 - Spark SQL CLI : 在命令行中使用 SQL 处理数据
 
API 文档:
- Spark Scala API (Scaladoc)
 - Spark Java API (Javadoc)
 - Spark Python API (Sphinx)
 - Spark R API (Roxygen2)
 - Spark SQL,内置函数 (MkDocs)
 
部署指南:
- 集群概述 : 运行在集群上的概念和组件的概述
 - 提交应用程序 : 打包和部署应用程序
 - 
      部署模式:
      
- 亚马逊 EC2 : 让您在大约 5 分钟内在 EC2 上启动集群的脚本
 - 独立部署模式 : 快速启动独立集群,无需第三方集群管理器
 - Mesos : 使用 Apache Mesos 部署私有集群
 - YARN : 在 Hadoop NextGen (YARN) 上部署 Spark
 - Kubernetes : 在 Kubernetes 上部署 Spark
 
 
其他文档:
- 配置 : 通过其配置系统定制Spark
 - 监控 : 跟踪应用程序的行为
 - 调整指南 : 优化性能和内存使用的最佳实践
 - 作业调度 : 在Spark应用程序之间和内部调度资源
 - 安全 : Spark安全支持
 - 硬件配置 : 集群硬件的建议
 - 与其他存储系统的集成:
 - 迁移指南 : Spark组件的迁移指南
 - 构建Spark : 使用Maven系统构建Spark
 - 为Spark贡献
 - 第三方项目 : 相关的第三方Spark项目
 
外部资源: