

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

# Amazon Apache Spark 的运行时间 (emr-spark-8.1.0)
<a name="emr-spark810-release"></a>

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

此版本被指定为长期支持 (LTS) 版本。下表描述了亚马逊 EMR Spark 8.1.0 支持的生命周期日期。


| 支持阶段 | 日期 | 
| --- | --- | 
| 最初发行日期 | 2026 年 9 月 8 日 | 
| 标准支持直到 | 2029年9月7日 | 
| 生命周期终止 | 2029年9月8日 | 

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

此版本包括以下应用程序：[AmazonCloudWatchAgent](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)、[Delta](https://delta.io/)、[Hudi](https://hudi.apache.org)、[Iceberg](https://iceberg.apache.org/)[JupyterEnterpriseGateway](https://jupyter-enterprise-gateway.readthedocs.io/en/latest/)、[Livy](https://livy.incubator.apache.org/)、和[Spark](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.1.0 | emr-spark-8.0.0 | 
| --- | --- | --- | 
| Amazon Java 软件开发工具包 | 2.44.5 | 2.41.32 | 
| Python | 3.11、3.13 | 3.11、3.13 | 
| Scala | 2.13.17 | 2.13.16 | 
| AmazonCloudWatchAgent | 1.300034.0-amzn-0 | 1.300032.2-amzn-0 | 
| Delta | 4.2.0-amzn-0 | 4.0.0-amzn-1-spark | 
| Hudi | 1.1.1-amzn-0 | 1.1.0-amzn-0 | 
| Iceberg | 1.11.0-amzn-0 | 1.10.1-amzn-0 | 
| JupyterEnterpriseGateway | 2.6.0 | 2.6.0 | 
| Livy | 0.9.0-孵化 | 0.8.0-incubating | 
| Spark | 4.1.1-amzn-0 | 4.0.2-amzn-0 | 

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

以下发行说明包括亚马逊 EMR 版本 8.1.0 (emr-spark-8.1.0) 的信息，该版本以 Apache Spark 4.1.1 为特色。

### 新增内容
<a name="emrspark810-whatsnew"></a>
+ **Apache Spark 4.1.1 ** — 亚马逊 EMR Spark 8.1.0 包括 Apache Spark 4.1.1。更新的依赖项包括 Scala 2.13.17、Jackson 2.20.0 和 Parquet-MR 1.16.0，以及新的 Spark 功能、性能改进和错误修复。
+ **对 Spark 工作负载的 Iceberg v3 规范支持 ** — 亚马逊 EMR Spark 8.1.0 扩展了对 Spark 工作负载的 Iceberg v3 规范支持。此版本添加了以下 v3 功能：
  + **地理空间数据类型 ** — Iceberg v3 表支持`GEOMETRY`和`GEOGRAPHY`数据类型。
  + **地理空间 SQL 函数 ** — 亚马逊 EMR Spark 8.1.0 原生支持 Iceberg 工作负载的地理空间函数。在 Spark 配置`true`中设置`spark.sql.geospatial.enabled`为以启用地理空间功能。Apache Spark 4.1 仅支持 SRID 0、3857 和 4326。支持以下函数：
    + `st_area(geom)`
    + `st_asbinary(geo[, endianness])`
    + `st_collect(geoArray)`
    + `st_convexhull(geom)`
    + `st_distance(geom1, geom2)`
    + `st_dwithin(geom1, geom2, distance)`
    + `st_geogfromwkb(wkb)`
    + `st_geomfromwkb(wkb[, srid])`
    + `st_geomfromwkt(wkt[, srid])`
    + `st_intersection(geom1, geom2)`
    + `st_intersects(geom1, geom2)`
    + `st_length(geom)`
    + `st_makeline(geomArray)`
    + `st_setsrid(geo, srid)`
    + `st_srid(geo)`
    + `st_within(geom1, geom2)`
    + `st_x(point)`
    + `st_y(point)`
  + **Nanosecond-precision 时间戳 ** — Iceberg v3 表支持纳秒级精度时间戳列（和）。`TIMESTAMP(9)` `TIMESTAMP_NTZ(9)`
  + **变体粉碎 ** — Iceberg v3 表格支持变体切碎。
  + **`UNKNOWN`数据类型 ** — Iceberg v3 表支持类型尚未定义的列`UNKNOWN`的数据类型。这种类型的列是可选的，默认为 null，并且不存储在数据文件中。
  + **默认值 ** — Iceberg v3 列支持声明的默认值，当作者省略该列时适用。
+ **扩展了对开放表格格式的精细访问控制支持 ** — Amazon EMR Spark 8.1.0 扩展了对开放表格格式 (OTF) 的精细访问控制 (FGAC) 支持。Iceberg 现在支持 FGAC 进行其他操作：`DESCRIBE TABLE`、、`SHOW TBLPROPERTIES``SHOW CREATE TABLE`、`ALTER TABLE table_name WRITE ORDERED BY`和。`ALTER TABLE table_name WRITE DISTRIBUTED BY`Delta Lake 现在支持 FGAC 进行该`VACUUM`操作。
+ **Iceberg 物化视图的增量刷新改进 ** — 增量刷新现在通过变更数据捕获来支持 Merge-on-Read 表。这样可以快速刷新使用更新和删除的工作负载。使用每个文件和清单级别的列统计信息，刷新仅读取受更改影响的数据文件。
+ **Multi-format 支持自动发现的多目录 ** — Spark SQL 查询现在可以按名称引用目录，无需在 Spark 配置中预先注册它们。支持的目录类型包括跨账户目录和 S3 表格联合目录，可自动检测 Iceberg、Delta 和 Hudi 表格格式。要启用此功能，请添加以下 Spark 配置：`"spark.sql.catalog.spark_catalog": "org.apache.spark.sql.connector.catalog.redirecting.RedirectingSessionCatalog", "spark.sql.catalogResolver": "com.amazonaws.glue.catalog.redirecting.GlueCatalogResolver"`

### 更改、增强功能和解决的问题
<a name="emrspark810-changes"></a>
+ 此版本包括针对 Iceberg、Hudi 和 Delta 的错误修复和功能改进。有关更多信息，请参阅 “新增内容” 部分。
+ **提高了集群启动期间的磁盘加密验证容忍度 ** — 在安全配置中启用了本地磁盘加密的集群现在更能容忍实例启动期间的瞬态网络连接延迟。此更改减少了间歇性集群启动故障。
+ **修复了 Amazon EMR 配置中的 UTF-8 多字节字符处理问题 ** — Amazon EMR 配置现在可以正确支持 UTF-8 多字节字符。这包括带有重音字母或非拉丁脚本的值。有关更多信息，请参阅[配置应用程序](https://docs.amazonaws.cn/emr/latest/ReleaseGuide/emr-configure-apps.html)。
+ **提高了 Secret Agent 启动可靠性 ** — 修复了两个可能导致与 Secret Agent 安全服务相关的 Amazon EMR 集群配置失败的问题。现在，证书创建需要等待 HDFS 准备就绪后才能继续，启动脚本会重试检测 Secret Agent Java 进程。这些更改共同减少了存储初始化速度较慢或实例负载过重的集群的启动失败次数。

### 已知问题和限制
<a name="emrspark810-known-issues"></a>
+ 只有当你使用 Hive Metastore 或 Iceberg REST 目录时，才会应用原生 Apache Iceberg 表加密。使用 Amazon Glue 数据目录（包括其 Iceberg REST 端点）和 Hadoop 目录，这些属性是可以接受的，但不强制执行。结果，数据是以明文写入的。要使用这些目录对 Iceberg 表的静态数据进行加密，请在表的 Amazon S3 位置启用使用 Amazon KMS 密钥 (SSE-KMS) 的 Amazon S3 服务器端加密。
+ Iceberg v3 表不支持采用多个参数的变换。

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


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

## emr-spark-8.1.0 组件版本
<a name="emr-spark810-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.2.0-amzn-0 | Delta lake 是一种适用于超大型分析数据集的开放表格式。 | 
| emr-amazon-cloudwatch-agent | 1.300034.0-amzn-0 | 从 Amazon EC2 实例中收集内部系统级别指标和自定义应用程序指标的应用程序。 | 
| emr-ddb | 6.1.0 | 适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。 | 
| emr-goodies | 3.23.0-spark | 适用于 Hadoop 生态系统的方便易用的库。 | 
| emr-notebook-env | 1.18.0 | 适用于 EMR Notebooks（可提供 jupyter 企业网关）的 Conda env | 
| emr-s3-dist-cp | 2.46.0 | 针对 Amazon S3 优化的分布式复制应用程序。 | 
| hadoop-client | 3.4.2-amzn-3 | Hadoop 命令行客户端，如“hdfs”、“hadoop”或“yarn”。 | 
| hadoop-hdfs-datanode | 3.4.2-amzn-3 | 用于存储数据块的 HDFS 节点级服务。 | 
| hadoop-hdfs-library | 3.4.2-amzn-3 | HDFS 命令行客户端和库 | 
| hadoop-hdfs-namenode | 3.4.2-amzn-3 | 用于跟踪文件名和数据块位置的 HDFS 服务。 | 
| hadoop-hdfs-zkfc | 3.4.2-amzn-3 | ZKFC 服务，用于跟踪 HA 模式的命名节点。 | 
| hadoop-hdfs-journalnode | 3.4.2-amzn-3 | 用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。 | 
| hadoop-httpfs-server | 3.4.2-amzn-3 | 用于 HDFS 操作的 HTTP 终端节点。 | 
| hadoop-kms-server | 3.4.2-amzn-3 | 基于 Hadoop API 的加密密钥管理服务器。 KeyProvider  | 
| hadoop-mapred | 3.4.2-amzn-3 | MapReduce 用于运行 MapReduce 应用程序的执行引擎库。 | 
| hadoop-yarn-nodemanager | 3.4.2-amzn-3 | 用于管理单个节点上的容器的 YARN 服务。 | 
| hadoop-yarn-resourcemanager | 3.4.2-amzn-3 | 用于分配和管理集群资源与分布式应用程序的 YARN 服务。 | 
| hadoop-yarn-timeline-server | 3.4.2-amzn-3 | 用于检索 YARN 应用程序的当前信息和历史信息的服务。 | 
| hudi | 1.1.1-amzn-0 | 增量处理框架，以支持低延迟和高效率的数据管道。 | 
| hudi-spark | 1.1.1-amzn-0 | 用于运行 Spark 以及 Hudi 的捆绑库。 | 
| iceberg | 1.11.0-amzn-0 | Apache Iceberg 是一种适用于超大型分析数据集的开放表格式。 | 
| livy-server | 0.9.0-孵化 | 用于与 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.1.1-amzn-0 | Spark 命令行客户端。 | 
| spark-history-server | 4.1.1-amzn-0 | 用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。 | 
| spark-on-yarn | 4.1.1-amzn-0 | In-memory YARN 的执行引擎。 | 
| spark-yarn-slave | 4.1.1-amzn-0 | YARN 从属项所需的 Apache Spark 库。 | 
| spark-rapids | 26.04.2-amzn-0 | 加速 Apache Spark 和 GPU 的 Nvidia Spark RAPIDS。 | 
| zookeeper-server | 3.9.3-amzn-8 | 用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。 | 
| zookeeper-client | 3.9.3-amzn-8 | ZooKeeper 命令行客户端。 | 

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

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

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


**emr-spark-8.1.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 | 在 zoo.cfg 文件 ZooKeeper中更改值。 | Restarts Zookeeper server. | 
| zookeeper-logback | 在 logback.xml 文件 ZooKeeper中更改值。 | Restarts Zookeeper server. | 
| cloudwatch-logs | 为 EMR 群集节点配置 CloudWatch 日志集成。 | Not available. | 
| emr-metrics | 更改此节点的 emr 指标设置。 | Restarts the CloudWatchAgent service. | 

## 亚马逊 EMR Spark 8.1.0 更新日志
<a name="emrspark810-changelog"></a>


**亚马逊 EMR Spark 8.1.0 的更改日志**  

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