特征和功能 - Amazon EMR

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

特征和功能

支持的技术

  • 语言: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 及更早版本

我们升级的内容

升级代理提供全面的 Spark 应用程序升级:

  • 生成配置:自动更新依赖项管理文件(pom.xml、requirements.txt 等)

  • 源代码:修复了 API 兼容性问题和过时的方法用法

  • 测试代码:确保单元和集成测试适用于目标 Spark 版本

  • 依赖关系:将打包的依赖项升级到与目标 EMR 版本兼容的版本

  • 验证:编译和验证目标 EMR 集群上的应用程序

  • 数据质量分析:通过详细的影响报告检测架构差异、值级别的统计数据偏差 (min/max/mean) 和汇总行数不匹配情况。

可用区

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)

升级范围和用户要求

  • 集群管理:Spark 升级代理侧重于应用程序代码升级。新版本的目标 EMR 集群必须由用户创建和管理。

  • 引导操作:Spark 升级代理不会升级 Spark 应用程序代码之外的自定义引导脚本。它们需要由用户升级。

  • 升级生成和测试:升级代理将在本地开发环境中执行构建和运行单元和集成测试,以验证应用程序是否使用目标 Spark 版本成功编译。如果您对本地执行的 Spark 应用程序代码有限制(安全政策、资源限制、网络限制或公司指南),请考虑使用 Amazon SageMaker Unified Studio VSCode IDE 空间或 EC2 运行升级代理。升级代理使用您的目标 EMR EC2 群集或 EMR-S 应用程序来验证和升级。 end-to-end

  • 错误驱动的方法:升级代理使用错误驱动的方法,根据编译或运行时错误一次进行一次修复,而不是一次进行多个修复。这种迭代方法可确保在继续处理下一个问题之前,每个问题都得到妥善解决。

  • 私有依赖关系:从私有构件存储库安装的依赖项无法作为此过程的一部分自动升级。它们必须由用户升级。

  • 区域资源:Spark 升级代理是区域性的,使用该区域的底层 EMR 资源进行升级过程。不支持跨区域升级。