View a markdown version of this page

AWS Apache Spark 的运行时间 (emr-spark-8.0.0) - Amazon EMR

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

AWS Apache Spark 的运行时间 (emr-spark-8.0.0)

emr-spark-8.0.0 支持的生命周期

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

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

emr-spark-8.0.0 应用程序版本

此版本包括以下应用程序:AmazonCloudWatchAgentDeltaHudiIcebergJupyterEnterpriseGatewayLivy、和Spark

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

有关每个发行版的 Amazon EMR 的应用程序版本的全面历史记录,请参见以下主题:

应用程序版本信息
emr-spark-8.0.0
AWS 适用于 Java 的 SDK 2.41.32
Python 3.11、3.12、3.13
Scala 2.13.16
AmazonCloudWatchAgent1.300032.2-amzn-0
Delta4.0.0-amzn-1-spark
Hudi1.1.0-amzn-0
Iceberg1.10.1-amzn-0
JupyterEnterpriseGateway2.6.0
Livy0.8.0-incubating
Spark4.0.2-amzn-0

emr-spark-8.0.0 发行说明

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

新增内容

  • 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 预览版以来的变化和增强

  • Livy JupyterEnterpriseGateway 可作为交互式工作负载应用程序使用

  • 持久 Spark 历史记录服务器支持

已知问题和限制

  • 支持原生 FGAC 的 Spark Connect 安全端点在此版本中不可用。

  • AL2023 将 Python 3.9 作为系统 Python 发布,但 PySpark 工作负载不支持它。AL2023

从 EMR 7.x 迁移 (Spark 3.5.x)

从 EMR 7.x(使用 Spark 3.5.x)迁移到 emr-spark-8.0.0(Spark 4.0.2)时,可以考虑使用 Spark 升级代理来协助迁移。

  • 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 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:CreateVpcEndpointec2: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 集群、Amazon EMR-managed 安全组和私有子网的最低 Amazon S3 策略

emr-spark-8.0.0 默认 Java 版本

应用程序Java/Amazon Corretto 版本(默认为粗体)
Spark17、21
Livy17、11、8
Hadoop17、11、8

emr-spark-8.0.0 组件版本

下面列出了 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-agent1.31.0从应用程序进程守护程序收集指标的 Java 代理。
delta4.0.0-amzn-1-sparkDelta lake 是一种适用于超大型分析数据集的开放表格式。
emr-amazon-cloudwatch-agent1.300032.2-amzn-0从 Amazon EC2 实例中收集内部系统级别指标和自定义应用程序指标的应用程序。
emr-ddb6.0.0适用于 Hadoop 生态系统应用程序的 Amazon DynamoDB 连接器。
emr-goodies3.22.0-spark适用于 Hadoop 生态系统的方便易用的库。
emr-notebook-env1.18.0适用于 EMR Notebooks(可提供 jupyter 企业网关)的 Conda env
emr-s3-dist-cp2.44.0针对 Amazon S3 优化的分布式复制应用程序。
hadoop-client3.4.2-amzn-1Hadoop 命令行客户端,如“hdfs”、“hadoop”或“yarn”。
hadoop-hdfs-datanode3.4.2-amzn-1用于存储数据块的 HDFS 节点级服务。
hadoop-hdfs-library3.4.2-amzn-1HDFS 命令行客户端和库
hadoop-hdfs-namenode3.4.2-amzn-1用于跟踪文件名和数据块位置的 HDFS 服务。
hadoop-hdfs-zkfc3.4.2-amzn-1ZKFC 服务,用于跟踪 HA 模式的命名节点。
hadoop-hdfs-journalnode3.4.2-amzn-1用于管理 HA 集群上的 Hadoop 文件系统日志的 HDFS 服务。
hadoop-httpfs-server3.4.2-amzn-1用于 HDFS 操作的 HTTP 终端节点。
hadoop-kms-server3.4.2-amzn-1基于 Hadoop 的 API 的加密密钥管理服务器。 KeyProvider
hadoop-mapred3.4.2-amzn-1MapReduce 用于运行 MapReduce 应用程序的执行引擎库。
hadoop-yarn-nodemanager3.4.2-amzn-1用于管理单个节点上的容器的 YARN 服务。
hadoop-yarn-resourcemanager3.4.2-amzn-1用于分配和管理集群资源与分布式应用程序的 YARN 服务。
hadoop-yarn-timeline-server3.4.2-amzn-1用于检索 YARN 应用程序的当前信息和历史信息的服务。
hudi1.1.0-amzn-0增量处理框架,以支持低延迟和高效率的数据管道。
hudi-spark1.1.0-amzn-0用于运行 Spark 以及 Hudi 的捆绑库。
iceberg1.10.1-amzn-0Apache Iceberg 是一种适用于超大型分析数据集的开放表格式。
livy-server0.8.0-incubating用于与 Apache Spark 交互的 REST 接口
nginx1.12.1nginx [引擎 x] 是 HTTP 和反向代理服务器
mariadb-server5.5.68+MariaDB 数据库服务器。
nvidia-cuda12.5.0Nvidia 驱动程序和 Cuda 工具包
r4.3.2用于统计计算的 R 项目
spark-client4.0.2-amzn-0Spark 命令行客户端。
spark-history-server4.0.2-amzn-0用于查看完整的 Spark 应用程序的生命周期的已记录事件的 Web UI。
spark-on-yarn4.0.2-amzn-0In-memory 适用于 YARN 的执行引擎。
spark-yarn-slave4.0.2-amzn-0YARN 从属项所需的 Apache Spark 库。
spark-rapids26.02.2-amzn-0加速 Apache Spark 和 GPU 的 Nvidia Spark RAPIDS。
zookeeper-server3.9.3-amzn-6用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。
zookeeper-client3.9.3-amzn-6ZooKeeper 命令行客户端。

emr-spark-8.0.0 配置分类

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

为处于运行状态的集群中的实例组指定配置时,将发生重新配置操作。Amazon EMR 仅为您修改的分类启动重新配置操作。有关更多信息,请参阅 在正在运行的集群中重新配置实例组

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 更新日志

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