

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

# 特性和功能
<a name="emr-spark-upgrade-agent-features"></a>

## 支持的技术
<a name="emr-spark-upgrade-agent-supported-technologies"></a>
+ **语言**：Python 和 Scala 应用程序
+ **构建系统**：适用于 Scala 项目的 Maven 和 SBT；适用于 Python 项目的 requirements.txt、Pipfile 和 Setuptools
+ **目标平台**：亚马逊 EMR 和 EMR 无服务器
+ **支持的版本**：我们支持 Apache Spark 从 2.4 版升级到 3.5 版。对应的部署模式映射如下
  + **对于 EMR-EC2**
    + **源版本：**EMR 5.20.0 及更高版本
    + **目标版本：**EMR 7.12.0 及更早版本，应比 EMR 5.20.0 更新
  + **适用于 EMR 无服务器**
    + **源版本：**EMR Serverless 6.0 及更高版本
    + **目标版本：**EMR Serverless 7.12.0 及更早版本

## 我们升级的内容
<a name="emr-spark-upgrade-agent-what-we-upgrade"></a>

升级代理提供全面的 Spark 应用程序升级：
+ **生成配置**：自动更新依赖项管理文件（pom.xml、requirements.txt 等）
+ **源代码**：修复了 API 兼容性问题和过时的方法用法
+ **测试代码**：确保单元和集成测试适用于目标 Spark 版本
+ **依赖关系**：将打包的依赖项升级到与目标 EMR 版本兼容的版本
+ **验证**：编译和验证目标 EMR 集群上的应用程序
+ **数据质量分析**：通过详细的影响报告检测架构差异、值级别的统计数据偏差 (min/max/mean) 和汇总行数不匹配情况。

## 可用区
<a name="emr-spark-upgrade-agent-available-regions"></a>

Spark 升级代理可在以下区域使用：
+ **亚太地区**：东京（ap-northeast-1）、首尔（ap-northeast-2）、新加坡（ap-southeast-1）、悉尼（ap-southeast-2）和孟买（ap-southeast-1）和孟买（ap-southeast-1）
+ **北美洲**：加拿大（ca-central-1）
+ **欧洲**：斯德哥尔摩（eu-north-1）、爱尔兰（eu-west-1）、伦敦（eu-west-2）、巴黎（eu-west-3）和法兰克福（eu-central-1）
+ **南美洲**：圣保罗（sa-east-1）
+ **美国**：弗吉尼亚州北部（us-east-1）、俄亥俄州（us-east-2）和俄勒冈州（us-west-2）

## 升级范围和用户要求
<a name="emr-spark-upgrade-agent-scope-limitations"></a>
+ **集群管理**：Spark 升级代理侧重于应用程序代码升级。新版本的目标 EMR 集群必须由用户创建和管理。
+ **引导操作**：Spark 升级代理不会升级 Spark 应用程序代码之外的自定义引导脚本。它们需要由用户升级。
+ **升级生成和测试**：升级代理将在本地开发环境中执行构建和运行单元和集成测试，以验证应用程序是否使用目标 Spark 版本成功编译。如果您对本地执行的 Spark 应用程序代码有限制（安全策略、资源限制、网络限制或公司指南），请考虑使用 [Amazon SageMaker Unified Studio VSCode IDE Spaces](https://docs.amazonaws.cn/sagemaker-unified-studio/latest/userguide/create-space.html) 或 EC2 来运行升级代理。升级代理使用您的目标 EMR-EC2 集群或 EMR-S 应用程序进行验证和升级。 end-to-end
+ **错误驱动的方法**：升级代理使用错误驱动的方法，根据编译或运行时错误一次进行一次修复，而不是一次进行多个修复。这种迭代方法可确保在继续处理下一个问题之前，每个问题都得到妥善解决。
+ **私有依赖关系**：从私有构件存储库安装的依赖项无法作为此过程的一部分自动升级。它们必须由用户升级。
+ **区域资源**：Spark 升级代理是区域性的，使用该区域的底层 EMR 资源进行升级过程。不支持跨区域升级。