

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Apache Spark 的运行时间 (emr-spark-8.0.0)
<a name="emr-spark800-release"></a>

## emr-spark-8.0.0 支持的生命周期
<a name="emr-spark800-supported-lifecycle"></a>

下表描述了 Amazon EMR Spark 8.0.0 支持的生命周期日期。


| 支持阶段 | 日期 | 
| --- | --- | 
| 最初发行日期 | 2026年5月21日 | 
| 标准支持直到 | 2027 年 5 月 20 日 | 
| 生命周期终止 | 2027 年 5 月 20 日 | 

## emr-spark-8.0.0 应用程序版本
<a name="emr-spark800-app-versions"></a>

此版本包括以下应用程序：[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)、[https://delta.io/](https://delta.io/)、[https://hudi.apache.org](https://hudi.apache.org)、[https://iceberg.apache.org/](https://iceberg.apache.org/)、[https://livy.incubator.apache.org/](https://livy.incubator.apache.org/)、和[https://spark.apache.org/docs/latest/](https://spark.apache.org/docs/latest/)。

下表列出了此版本的 Amazon EMR 中提供的应用程序版本以及前三个 Amazon EMR 发行版中的应用程序版本（若适用）。

有关每个发行版的 Amazon EMR 的应用程序版本的全面历史记录，请参见以下主题：
+ [Amazon EMR 7.x 发行版中的应用程序版本](emr-release-app-versions-7.x.md)
+ [Amazon EMR 6.x 发行版中的应用程序版本](emr-release-app-versions-6.x.md)
+ [Amazon EMR 5.x 发行版中的应用程序版本](emr-release-app-versions-5.x.md)
+ [Amazon EMR 4.x 发行版中的应用程序版本](emr-release-app-versions-4.x.md)


**应用程序版本信息**  

|  | emr-spark-8.0.0 | 
| --- | --- | 
| AWS 适用于 Java 的 SDK | 2.41.32 | 
| Python | 3.11、3.12、3.13 | 
| Scala | 2.13.16 | 
| AmazonCloudWatchAgent | 1.300032.2-amzn-0 | 
| Delta | 4.0.0-amzn-1-spark | 
| Hudi | 1.1.0-amzn-0 | 
| Iceberg | 1.10.1-amzn-0 | 
| JupyterEnterpriseGateway | 2.6.0 | 
| Livy | 0.8.0-incubating | 
| Spark | 4.0.2-amzn-0 | 

## emr-spark-8.0.0 发行说明
<a name="emr-spark800-relnotes"></a>

以下发行说明包括以 Apache Spark 4.0.2 为特色的亚马逊 EMR 版本 8.0.0（emr-spark-8.0.0）的信息。

### 新增内容
<a name="emrspark800-whatsnew"></a>
+ **Apache Spark 4.0.2 GA** — 亚马逊 EMR 上的 Spark 4.x 的第一个生产就绪版本，基于分支4.0上游分支，带有亚马逊针对性能、安全和集成的补丁。
+ **在 EC2、EKS 和无服务器**上可用 — 此版本适用于所有 Amazon EMR 部署模式。
+ **ANSI SQL 模式**-默认情况下启用更严格的类型处理，从而提高 SQL 的正确性以及与标准 SQL 行为的兼容性。
+ **SQL PIPE 语法** — 新的 \|> 运算符，用于以更具可读性的管道式语法链接 SQL 操作。
+ **VARIANT 数据类型** — 原生支持使用 VARIANT 类型的半结构化 JSON 数据，无需显式架构定义即可启用读取模式模式。
+ **SQL 脚本** — 控制流语句（IF/ELSE、WHILE、FOR）和用于 Spark SQL 中程序 SQL 逻辑的会话变量。
+ **SQL User-Defined 函数**-无需 Scala/Python 编写代码即可直接在 SQL 中定义 UDF。
+ **直播增强功能** — 任意状态处理 API v2，带有转换WithState 运算符和增强的 RocksDB 变更日志检查点。
+ **Apache Iceberg v3 Su** pport — Iceberg 表中支持变体数据类型， AWS S3 表集成。
+ **本机 Fine-grained 访问控制和完整表访问 (FTA)** — 支持 Iceberg、Delta Lake 和 Hive 表。
+ **JDK 17 默认** — Amazon Corretto 17 是默认 JVM；JDK 21 也可用。
+ **Scala 2.13** — Spark 4.x 放弃了 Scala 2.12 的支持；所有组件都是针对 Scala 2.13 构建的。

### 自 emr-spark-8.0 预览版以来的变化和增强
<a name="emrspark800-changes"></a>
+ Livy JupyterEnterpriseGateway 可作为交互式工作负载应用程序使用
+ 持久 Spark 历史记录服务器支持

### 已知问题和限制
<a name="emrspark800-known-issues"></a>
+ 支持原生 FGAC 的 Spark Connect 安全端点在此版本中不可用。
+ AL2023 将 Python 3.9 作为系统 Python 发布，但 PySpark 工作负载不支持它。AL2023

### 从 EMR 7.x 迁移 (Spark 3.5.x)
<a name="emrspark800-migration"></a>

[从 EMR 7.x（使用 Spark 3.5.x）迁移到 emr-spark-8.0.0（Spark 4.0.2）时，可以考虑使用 Spark 升级代理来协助迁移。](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/spark-upgrades.html)
+ **ANSI SQL 模式为默认** — 更严格的类型强制转换；以前成功的隐式转换现在可能会引发错误。
+ **Scala 2.13** — 所有 Spark 4.x 版本都使用 Scala 2.13。重新编译所有针对 Scala 2.12 构建的自定义 JAR。
+ **JDK 17 默认** — Spark 4.0.2 仅支持 JDK 17（默认）和 JDK 21。
+ **Python 3.11 默认** — Python 3.9 不再是的默认设置。 PySpark验证你的 Python 依赖关系的兼容性。
+ **AWS SD AWS K** — 适用于 Java 的 SDK v1 已被移除。更新您的应用程序以使用 AWS SDK v2 来改善性能和资源管理。
+ **S3 访问权限** — EMRFS 不再可用。使用 S3A 连接器将永久数据写入 Amazon S3，以获得更好的性能和兼容性。参见[使用 EMR S3A 优化 Apache Spark 的亚马逊 EMR 运行时。emr-s3-selec](https://aws.amazon.com/blogs/big-data/optimize-amazon-emr-runtime-for-apache-spark-with-emr-s3a/) t 已被删除。
+ **交互式开发** — JupyterHub、齐柏林飞艇和 Hue 不再包括在内。要进行交互式 Spark 开发，请使用 EMR Studio、Livy 和。 JupyterEnterpriseGateway
+ **单独的版本系列 — 发布标签**是 emr-spark-8.0.0，而不是 emr-8.0.0。此版本以 Spark 为重点。对于 Flink、HBase、Phoenix、Tez、Trino、Presto，请使用 EMR 7.x 并等待未来的 emr-8.0.0 多引擎发布。不包括 Pig 和 Ooozie。
+ **用于 EMR 集群通信的 VPC 终端节点** — 从 Amazon EMR Spark 8.0.0 开始，EC2 上的 Amazon EMR 会在您的 VPC 中预置一个 VPC 终端节点，用于在私有子网中启动集群时，亚马逊 EMR 服务与您的集群之间的通信。您的 Amazon EMR 服务角色必须包含`ec2:CreateVpcEndpoint`和`ec2:ModifyVpcEndpoint`权限，或者您必须在启动集群之前手动创建 VPC 终端节点。VPC 终端节点服务名称为`aws.api.{{region}}.emr-service-cell01`。
  + 此更改更新了私有子网集群的联网要求：
    + 连接到 VPC 终端节点的服务访问安全组 (`ElasticMapReduce-ServiceAccess`) 需要来自 VPC CIDR 块的入站 HTTPS（端口 443）。不再需要 Amazon EMR 7.x 及更早版本中使用的端口 8443/9443 规则。
    + 主实例安全组需要服务访问安全组的出站 HTTPS（端口 443）。
    + Amazon EMR 7.x 及更早版本中使用的入站端口 8443 和出站端口 9443 规则不再需要在主实例安全组、核心实例和任务实例安全组上使用。
    + 如果您对 Amazon S3 使用自定义 VPC 终端节点策略，则必须允许访问 Amazon EMR 实例数据存储桶（`aws157-instance-data-0-prod-{{region}}`和）。`aws157-instance-data-1-prod-{{region}}`
  + *有关更多信息，请参阅 Amazon [EMR 管理指南中的私有子网中的 EMR 集群](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-clusters-in-a-vpc.html#emr-vpc-private-subnet)[、Amazon EMR-managed 安全组](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html)[和私有子网的最低 Amazon S3 策略](https://docs.aws.amazon.com/emr/latest/ManagementGuide/private-subnet-iampolicy.html)。*

## emr-spark-8.0.0 默认 Java 版本
<a name="emr-spark800-jdk"></a>


| 应用程序 | Java/Amazon Corretto 版本（默认为粗体） | 
| --- | --- | 
| Spark | 17、21 | 
| Livy | 17、11、8 | 
| Hadoop | 17、11、8 | 

## emr-spark-8.0.0 组件版本
<a name="emr-spark800-components"></a>

下面列出了 Amazon EMR 随此发行版一起安装的组件。一些组件作为大数据应用程序包的一部分安装。其它组件是 Amazon EMR 独有的，并且已为系统流程和功能安装这些组件。这些通常以`emr`或开头`aws`。 Big-data 最新 Amazon EMR 版本中的应用程序包通常是社区中的最新版本。我们会尽快在 Amazon EMR 中提供社区发行版。

Amazon EMR 中的某些组件与社区版本不同。这些组件具有以下形式的 `{{CommunityVersion}}-amzn-{{EmrVersion}}` 的发行版标注。`{{EmrVersion}}` 从 0 开始。例如，假设已对名为 `myapp-component` 的版本 2.2 的开源社区组件进行三次修改，以包含在不同的 Amazon EMR 发行版中，则其发行版将为 `2.2-amzn-2`。


| 组件 | 版本 | 说明 | 
| --- | --- | --- | 
| adot-java-agent | 1.31.0 | 从应用程序进程守护程序收集指标的 Java 代理。 | 
| delta | 4.0.0-amzn-1-spark | Delta lake 是一种适用于超大型分析数据集的开放表格式。 | 
| emr-amazon-cloudwatch-agent | 1.300032.2-amzn-0 | 从 Amazon EC2 实例中收集内部系统级别指标和自定义应用程序指标的应用程序。 | 
| emr-ddb | 6.0.0 | 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。 | 
| emr-goodies | 3.22.0-spark | 适用于 Hadoop 生态系统的方便易用的库。 | 
| emr-notebook-env | 1.18.0 | 适用于 EMR Notebooks（可提供 jupyter 企业网关）的 Conda env | 
| emr-s3-dist-cp | 2.44.0 | 针对 Amazon S3 优化的分布式复制应用程序。 | 
| hadoop-client | 3.4.2-amzn-1 | Hadoop 命令行客户端，如“hdfs”、“hadoop”或“yarn”。 | 
| hadoop-hdfs-datanode | 3.4.2-amzn-1 | 用于存储数据块的 HDFS 节点级服务。 | 
| hadoop-hdfs-library | 3.4.2-amzn-1 | HDFS 命令行客户端和库 | 
| hadoop-hdfs-namenode | 3.4.2-amzn-1 | 用于跟踪文件名和数据块位置的 HDFS 服务。 | 
| hadoop-hdfs-zkfc | 3.4.2-amzn-1 | ZKFC 服务，用于跟踪 HA 模式的命名节点。 | 
| hadoop-hdfs-journalnode | 3.4.2-amzn-1 | 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。 | 
| hadoop-httpfs-server | 3.4.2-amzn-1 | 用于 HDFS 操作的 HTTP 终端节点。 | 
| hadoop-kms-server | 3.4.2-amzn-1 | 基于 Hadoop 的 API 的加密密钥管理服务器。 KeyProvider  | 
| hadoop-mapred | 3.4.2-amzn-1 | MapReduce 用于运行 MapReduce 应用程序的执行引擎库。 | 
| hadoop-yarn-nodemanager | 3.4.2-amzn-1 | 用于管理单个节点上的容器的 YARN 服务。 | 
| hadoop-yarn-resourcemanager | 3.4.2-amzn-1 | 用于分配和管理集群资源与分布式应用程序的 YARN 服务。 | 
| hadoop-yarn-timeline-server | 3.4.2-amzn-1 | 用于检索 YARN 应用程序的当前信息和历史信息的服务。 | 
| hudi | 1.1.0-amzn-0 | 增量处理框架，以支持低延迟和高效率的数据管道。 | 
| hudi-spark | 1.1.0-amzn-0 | 用于运行 Spark 以及 Hudi 的捆绑库。 | 
| iceberg | 1.10.1-amzn-0 | Apache Iceberg 是一种适用于超大型分析数据集的开放表格式。 | 
| livy-server | 0.8.0-incubating | 用于与 Apache Spark 交互的 REST 接口 | 
| nginx | 1.12.1 | nginx [引擎 x] 是 HTTP 和反向代理服务器 | 
| mariadb-server | 5.5.68\+ | MariaDB 数据库服务器。 | 
| nvidia-cuda | 12.5.0 | Nvidia 驱动程序和 Cuda 工具包 | 
| r | 4.3.2 | 用于统计计算的 R 项目 | 
| spark-client | 4.0.2-amzn-0 | Spark 命令行客户端。 | 
| spark-history-server | 4.0.2-amzn-0 | 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。 | 
| spark-on-yarn | 4.0.2-amzn-0 | In-memory 适用于 YARN 的执行引擎。 | 
| spark-yarn-slave | 4.0.2-amzn-0 | YARN 从属项所需的 Apache Spark 库。 | 
| spark-rapids | 26.02.2-amzn-0 | 加速 Apache Spark 和 GPU 的 Nvidia Spark RAPIDS。 | 
| zookeeper-server | 3.9.3-amzn-6 | 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。 | 
| zookeeper-client | 3.9.3-amzn-6 | ZooKeeper 命令行客户端。 | 

## emr-spark-8.0.0 配置分类
<a name="emr-spark800-class"></a>

配置分类允许您自定义应用程序。这些通常与应用程序的配置 XML 文件（例如 `hive-site.xml`）相对应。有关更多信息，请参阅[配置应用程序](emr-configure-apps.md)。

为处于运行状态的集群中的实例组指定配置时，将发生重新配置操作。Amazon EMR 仅为您修改的分类启动重新配置操作。有关更多信息，请参阅 [在正在运行的集群中重新配置实例组](emr-configure-apps-running-cluster.md)。


**emr-spark-8.0.0 分类**  

| 分类 | 说明 | 重新配置操作 | 
| --- | --- | --- | 
| capacity-scheduler | 更改 Hadoop 的 capacity-scheduler.xml 文件中的值。 | Restarts the ResourceManager service. | 
| container-executor | 更改 Hadoop YARN 的 container-executor.cfg 文件中的值。 | Not available. | 
| container-log4j | 更改 Hadoop YARN 的 container-log4j.properties 文件中的值。 | Not available. | 
| core-site | 更改 Hadoop 的 core-site.xml 文件中的值。 | Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Hadoop KMS, Hadoop Httpfs, and MapReduce-HistoryServer. | 
| docker-conf | 更改 docker 相关设置。 | Not available. | 
| hadoop-env | 更改适用于所有 Hadoop 组件的 Hadoop 环境中的值。 | Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts MapReduce-HistoryServer. | 
| hadoop-log4j | 更改 Hadoop 的 log4j.properties 文件中的值。 | Restarts the Hadoop HDFS services SecondaryNamenode, Datanode, and Journalnode. Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Hadoop KMS, Hadoop Httpfs, and MapReduce-HistoryServer. | 
| hadoop-ssl-server | 更改 hadoop ssl 服务器配置 | Not available. | 
| hadoop-ssl-client | 更改 hadoop ssl 客户端配置 | Not available. | 
| hdfs-encryption-zones | 配置 HDFS 加密区域。 | This classification should not be reconfigured. | 
| hdfs-env | 更改 HDFS 环境中的值。 | Restarts Hadoop HDFS services Namenode, Datanode, and ZKFC. | 
| hdfs-site | 更改 HDFS 的 hdfs-site.xml 中的值。 | Restarts the Hadoop HDFS services Namenode, SecondaryNamenode, Datanode, ZKFC, and Journalnode. Additionally restarts Hadoop Httpfs. | 
| httpfs-env | 更改 HTTPFS 环境中的值。 | Restarts Hadoop Httpfs service. | 
| httpfs-site | 更改 Hadoop 的 httpfs-site.xml 文件中的值。 | Restarts Hadoop Httpfs service. | 
| hadoop-kms-acls | 更改 Hadoop 的 kms-acls.xml 文件中的值。 | Not available. | 
| hadoop-kms-env | 更改 Hadoop KMS 环境中的值。 | Restarts Hadoop-KMS service. | 
| hadoop-kms-java-home | 更改 Hadoop 的 KMS java 主页 | Not available. | 
| hadoop-kms-log4j | 更改 Hadoop 的 kms-log4j.properties 文件中的值。 | Not available. | 
| hadoop-kms-site | 更改 Hadoop 的 kms-site.xml 文件中的值。 | Restarts Hadoop-KMS. | 
| hudi-env | 更改 Hudi 环境中的值。 | Not available. | 
| hudi-defaults | 更改 Hudi 的 hudi-defaults.conf 文件中的值。 | Not available. | 
| iceberg-defaults | 更改 Iceberg 的 iceberg-defaults.conf 文件中的值。 | Not available. | 
| delta-defaults | 更改 Delta 的 delta-defaults.conf 文件中的值。 | Not available. | 
| jupyter-notebook-conf | 更改 Jupyter Notebook 的 jupyter\_notebook\_config.py 文件中的值。 | Not available. | 
| jupyter-s3-conf | 配置 Jupyter Notebook S3 持久性。 | Not available. | 
| jupyter-sparkmagic-conf | 更改 Sparkmagic 的 config.json 文件中的值。 | Not available. | 
| livy-conf | 更改 Livy 的 livy.conf 文件中的值。 | Restarts Livy Server. | 
| livy-env | 更改 Livy 环境中的值。 | Restarts Livy Server. | 
| livy-log4j2 | 更改 Livy log4j2.properties 设置。 | Restarts Livy Server. | 
| mapred-env | 更改 MapReduce 应用程序环境中的值。 | Restarts Hadoop MapReduce-HistoryServer. | 
| mapred-site | 更改 MapReduce 应用程序的 mapred-site.xml 文件中的值。 | Restarts Hadoop MapReduce-HistoryServer. | 
| spark | Apache Spark 的亚马逊 EMR-curated 设置。 | This property modifies spark-defaults. See actions there. | 
| spark-defaults | 更改 Spark 的 spark-defaults.conf 文件中的值。 | Restarts Spark history server and Spark thrift server. | 
| spark-env | 更改 Spark 环境中的值。 | Restarts Spark history server and Spark thrift server. | 
| spark-hive-site | 更改 Spark 的 hive-site.xml 文件中的值 | Not available. | 
| spark-log4j2 | 更改 Spark 的 log4j2.properties 文件中的值。 | Restarts Spark history server and Spark thrift server. | 
| spark-metrics | 更改 Spark 的 metrics.properties 文件中的值。 | Restarts Spark history server and Spark thrift server. | 
| yarn-env | 更改 YARN 环境中的值。 | Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts MapReduce-HistoryServer. | 
| yarn-site | 更改 YARN 的 yarn-site.xml 文件中的值。 | Restarts the Hadoop YARN services ResourceManager, NodeManager, ProxyServer, and TimelineServer. Additionally restarts Livy Server and MapReduce-HistoryServer. | 
| zookeeper-config | 更改 ZooKeeper的 zoo.cfg 文件中的值。 | Restarts Zookeeper server. | 
| zookeeper-logback | 更改 ZooKeeper的 logback.xml 文件中的值。 | Restarts Zookeeper server. | 
| cloudwatch-logs | 为 EMR 集群节点配置 CloudWatch 日志集成。 | Not available. | 
| emr-metrics | 更改此节点的 emr 指标设置。 | Restarts the CloudWatchAgent service. | 

## EMR Spark 8.0.0 更新日志
<a name="emrspark800-changelog"></a>


**EMR Spark 8.0.0 的更改日志**  

| 日期 | 事件 | 说明 | 
| --- | --- | --- | 
| 2026-05-21 | 文档发布 | 亚马逊 EMR Spark 8.0.0 (emr-spark-8.0.0) 发行说明首次发布 | 