选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

从 AWS Glue Python Shell 作业迁移

聚焦模式
从 AWS Glue Python Shell 作业迁移 - AWS Glue

AWS 于 2018 年推出了 AWS Glue Python shell 作业 AWS 于 2018 年推出了 AWS Glue Python shell 作业,目的是为客户提供一种简便的方法来运行中小型 ETL 作业的 Python 脚本,并触发 SQL 查询。但是,现在有更现代、更灵活的选项可以解决当前在 PythonShell 上运行的工作负载。本主题介绍如何将您的工作负载从 AWS Glue Python Shell 作业迁移到这些备选选项之一,以便利用现有的新功能。

本主题介绍如何从 AWS Glue Python Shell 作业迁移到备选选项。

将工作负载迁移到 AWS Glue Spark 作业

AWS Glue Spark 和 PySpark 作业允许您以分布式方式运行工作负载。由于 AWS Glue Python Shell 作业和 AWS Glue Spark 作业在同一平台上运行,因此迁移非常容易,您可以继续使用 Python Shell 作业中使用的现有 AWS Glue 功能,例如 AWS Glue 工作流程、AWS Glue 触发器、AWS Glue 的 Amazon EventBridge EventBridge 集成、基于 PIP 的软件包安装等。

但是,AWS Glue Spark 作业专为运行 Spark 工作负载而设计,最少需要 2 个工作线程。如果您在不修改脚本的情况下从 Python Shell 作业迁移,则实际上只会使用一个工作线程,而其他工作线程将保持空闲状态。这将增加您的成本。

为了提高效率,请重写 Python 作业脚本以利用 Spark 的功能并将工作负载分配给多个工作线程。如果您的 Python 脚本基于 Pandas,则在 Spark 上使用 New Pandas API 可以轻松迁移。要了解更多相关信息,请访问AWS 大数据博客:Dive deep into AWS Glue 4.0 for Apache Spark

将工作负载迁移到 AWS Lambda

AWS Lambda 是一项无服务器计算服务,使您无需预置或管理服务器即可运行代码。由于 AWS Lambda 启动时间更短,计算容量选项更灵活,因此您可以从这些优势中受益。为了管理额外的 Python 库,AWS Glue Python Shell 作业使用基于 PIP 的安装。但是,对于 AWS Lambda,您需要选择以下选项之一:zip 存档、容器映像或 Lambda 层。

另一方面,AWS Lambda 的最大超时时间为 900 秒(15 分钟)。如果您现有 AWS Glue Python Shell 作业工作负载的作业持续时间超过该值,或者如果您的工作负载具有可能导致作业持续时间更长的尖峰模式,则建议您探索其他选项,而不是 AWS Lambda。

将工作负载迁移到 Amazon ECS/Fargate

Amazon Elastic Container Service(Amazon ECS)是一项完全托管的服务,可简化容器化应用程序的部署、管理和扩展。AWS Fargate 是一款无服务器计算引擎,适用于在 Amazon ECS 和 Amazon Elastic Kubernetes Service(Amazon EKS)上运行的容器化工作负载。Amazon ECS 和 Fargate 没有最大超时限制,因此对于长时间运行的作业来说,这是一个不错的选择。由于您可以完全控制容器镜像,因此可以将 Python 脚本和额外的 Python 库带入容器并进行使用。但是,要使用这种方法,您需要将 Python 脚本容器化。

将工作负载迁移到 Amazon Managed Workflows for Apache Airflow Python Operator

Amazon Managed Workflows for Apache Airflow(Managed Workflows for Apache Airflow)是一项适用于 Apache Airflow 的托管式编排服务,让您能够更轻松地在云中大规模设置和操作端到端的数据管道。如果您已经拥有 MWAA 环境,则使用 Python 操作员而不是 AWS Glue Python Shell 作业将非常简单。Python 操作员是在 Airflow 工作流程中运行 Python 代码的操作员。但是,如果您没有现有 MWAA 环境,则建议您探索其他选项。

将工作负载迁移到 Amazon SageMaker AI AI 训练作业

Amazon SageMaker AI Training 是 Amazon SageMaker AI 提供的完全托管式机器学习(ML)服务,可帮助您高效地大规模训练各种 ML 模型。Amazon SageMaker AI AI 作业的核心是将 ML 工作负载容器化,并能管理 AWS 计算资源。如果您偏好没有最大超时时间的无服务器环境,则 Amazon SageMaker AI AI 训练作业可能非常适合您。但是,启动延迟往往比 AWS Glue Python Shell 作业长。对于对延迟敏感的作业,建议您探索其他选项。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。