AWS Glue 版本 - AWS Glue

AWS Glue 版本

可以在添加或更新作业时配置 AWS Glue 版本参数。AWS Glue 版本决定了 AWS Glue 支持的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。下表列出了可用的 AWS Glue 版本、相应的 Spark 和 Python 版本以及其他功能更改。

AWS Glue 版本

AWS Glue 版本 支持的运行时环境版本 支持的 Java 版本 功能更改
AWS Glue 4.0 Spark 环境版本
  • Spark 3.3.0

  • Python 3.10

Java 8

AWS Glue 4.0 是 AWS Glue 的最新版本。此 AWS Glue 版本内置了多项优化和升级,例如:

  • Spark 功能从 Spark 3.1 到 Spark 3.3 进行了多项升级:

    • 与 Pandas 配对时的功能进行了多项改进。有关更多信息,请参阅 Python 3.3 中的新增功能

    • 在 Amazon EMR 上开发的其他优化。

    • 升级到 EMR 文件系统(EMRFS)2.53。

  • 从 Log4j 1.x 迁移到 Log4j 2

  • Python 模块在 AWS Glue 3.0 基础上进行了多项更新,例如 Boto 的升级版本。

  • 升级了多个连接器,其中包括默认的 Amazon Redshift 连接器。请参阅 附录 C:连接器升级

  • 升级了多个 JDBC 驱动程序。请参阅 附录 B:JDBC 驱动程序升级

  • 使用新的 Amazon Redshift 连接器和 JDBC 驱动程序进行了更新。

  • 为 Apache Hudi、Delta Lake 和 Apache Iceberg 提供了本机开放式数据湖框架支持。

  • 为基于 Amazon S3 的 Cloud Shuffle 存储插件(Apache Spark 插件)提供了本机支持,从而可以使用 Amazon S3 实现随机排序和弹性存储功能。

限制

以下是 AWS Glue 4.0 的限制:

  • AWS Glue 机器学习和个人身份信息(PII)转换在 AWS Glue 4.0 中尚不可用。

有关迁移到 AWS Glue 4.0 版本的更多信息,请参阅将 AWS Glue for Spark 作业迁移到 AWS Glue 版本 4.0

Ray 环境版本
  • Ray 2.4.0

    Python 3.9

不适用

使用 AWS Glue for Ray 构建和运行分布式 Python 应用程序。

AWS Glue 4.0 中对 Ray 作业的限制

  • 在本版本中,Ray 的 AWS Glue 交互式会话仍处于预览状态。

  • AWS Glue for Ray 目前无法与 Amazon VPC 集成。如果没有公共路由,就无法访问 AWS 内 VPC 中的资源。有关将 AWS Glue 与 Amazon VPC 结合使用的更多信息,请参阅 为 AWS Glue(AWS PrivateLink)配置接口 VPC 端点(AWS PrivateLink)

  • AWS Glue for Ray 在美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(东京)和欧洲地区(爱尔兰)发布。

AWS Glue 3.0
  • Spark 3.1.1

  • Python 3.7

Java 8

除了 Spark 引擎升级到 3.0 之外,此 AWS Glue 版本还内置了一些优化和升级,例如:

  • 针对 Spark 3.0 构建 AWS Glue ETL 库,Spark 3.0 是 Spark 的主要版本。

  • AWS Glue 3.0 支持流式传输任务。

  • 包括针对性能和可靠性的新 AWS Glue Spark 运行时优化:

    • 基于 Apache Arrow 的更快内存列式处理,用于读取 CSV 数据。

    • 基于 SIMD 执行矢量化读取 CSV 数据。

    • Spark 升级还包括在 Amazon EMR 上开发的其他优化。

    • 将 EMRFS 从 2.38 升级到 2.46,为 Amazon S3 访问启用新功能和错误修复。

  • 升级了新 Spark 版本所需的几个依赖项。请参阅 附录 A:显著依赖项升级

  • 为我们本机支持的数据源升级了 JDBC 驱动程序。请参阅 附录 B:JDBC 驱动程序升级

限制

以下是 AWS Glue 3.0 的限制:

  • AWS Glue 机器学习转换在 AWS Glue 3.0 中尚不可用。

  • 如果某些自定义 Spark 连接器依赖于 Spark 2.4 并且与 Spark 3.1 不兼容,则它们不能与 AWS Glue 3.0 一起使用。

有关迁移到 AWS Glue 版本 3.0 的更多信息,请参阅将 AWS Glue for Spark 作业迁移到 AWS Glue 版本 3.0

AWS Glue 2.0(已弃用,终止支持
  • Spark 2.4.3

  • Python 3.7

不适用

除了 AWS Glue 1.0 版本提供的功能外,AWS Glue 2.0 版本还提供:

  • 用于在 AWS Glue 中运行 Apache Spark ETL 任务并减少启动时间的升级基础设施。

  • 默认日志记录现在是实时的,具有驱动程序和执行程序的单独流以及输出和错误。

  • 支持在任务级别指定其他 Python 模块或不同版本。

注意

由于底层架构更改,AWS Glue 2.0 版本 与 AWS Glue 1.0 版本的某些依赖项和版本不同。在跨主要 AWS Glue 发布版本迁移之前,请验证您的 AWS Glue 任务。

有关 AWS Glue 2.0 版本功能和限制的更多信息,请参阅运行 Spark ETL 作业,缩短启动时间

AWS Glue 1.0(已弃用,终止支持
  • Spark 2.4.3

  • Python 2.7

  • Python 3.6

不适用

您可以在 AWS Glue ETL 任务中维护 Parquet 和 ORC 格式的任务书签(使用 AWS Glue 版本 1.0)。以前,您只能在 AWS Glue ETL 任务中为常见的 Amazon S3 源格式添加书签,例如 JSON、CSV、Apache Avro 和 XML。

为 ETL 输入和输出设置格式选项时,您可以指定使用 Apache Avro 读取器/写入器格式 1.8 来支持 Avro 逻辑类型读取和写入(使用 AWS Glue 版本 1.0)。以前,只支持版本 1.7 Avro 读取器/写入器格式。

DynamoDB 连接类型支持写入器选项(使用 AWS Glue 1.0 版本)。

限制

以下是 AWS Glue 1.0 的限制:

  • AWS Glue 版本 0.9 和 1.0 在亚太地区(雅加达)(ap-southeast-3)、中东(阿联酋)(me-central-1)或后续其他新区域不可用。

AWS Glue 0.9(已弃用,终止支持
  • Spark 2.2.1

  • Python 2.7

不适用

在未指定 AWS Glue 版本的情况下,默认创建的任务为 AWS Glue 0.9。

限制

以下是 AWS Glue 0.9 的限制:

  • AWS Glue 版本 0.9 和 1.0 在亚太地区(雅加达)(ap-southeast-3)、中东(阿联酋)(me-central-1)或后续其他新区域不可用。

注意

以下 Glue 版本支持下列版本的 PythonShell:

  • Glue 版本 1.0 中支持 PythonShell v3.6。

  • Glue 版本 3.0 中支持 PythonShell v3.9。

此外,仅在 Glue 版本 1.0 和 0.9 中支持开发端点。