从中迁移工作负载 AWS Data Pipeline - AWS Data Pipeline

AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。了解更多

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

从中迁移工作负载 AWS Data Pipeline

AWS 该 AWS Data Pipeline 服务于 2012 年推出。当时,客户正在寻找一种服务,以帮助他们使用各种计算选项在不同的数据源之间可靠地移动数据。现在还有其他服务可以为客户提供更好的体验。例如,您可以使用 AWS Glue 来运行和编排 Apache Spark 应用程序,使用 AWS Step Functions 来帮助编排 AWS 服务组件,或者使用 Apache Airflow 的亚马逊托管工作流程 (Amazon MWAA) 来帮助管理 Apache Airflow 的工作流程编排。

本主题说明了如何从备选选项迁移 AWS Data Pipeline 到其他选项。您选择的选项因 AWS Data Pipeline上的当前工作负载而定。您可以将的典型用例迁移到 AWS Step F AWS Data Pipeline unctions 或 Amazon MWAA。 AWS Glue

将工作负载迁移到 AWS Glue

AWS Glue 是一项无服务器数据集成服务,可让使用分析功能的用户轻松发现、准备、移动和集成来自多个来源的数据。它包括用于编写、运行任务和编排工作流的工具。借 AWS Glue助,您可以发现和连接 70 多个不同的数据源,并在集中式数据目录中管理您的数据。您可以直观地创建、运行和监控“提取、转换、加载(ETL)”管道,以将数据加载到数据湖中。此外,您可以使用 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 立即搜索和查询已编目数据。

我们建议将您的 AWS Data Pipeline 工作负载迁移到以下 AWS Glue 时间:

  • 您正在寻找一种支持各种数据来源、创作界面(包括可视化编辑器和笔记本)以及高级数据管理功能(例如数据质量和敏感数据检测)的无服务器数据集成服务。

  • 您的工作负载可以迁移到 AWS Glue 工作流程、作业(在 Python 或 Apache Spark 中)和爬虫(例如,您的现有管道是在 Apache Spark 之上构建的)。

  • 您需要一个能够处理数据管道各个方面的单一平台,包括摄取、处理、传输、完整性测试和质量检查。

  • 您的现有管道是根据 AWS Data Pipeline 控制台上的预定义模板创建的,例如将 DynamoDB 表导出到 Amazon S3,而您正在寻找目的相同的模板。

  • 您的工作负载不依赖于特定的 Hadoop 生态系统应用程序,例如 Apache Hive。

  • 您的工作负载不需要编排本地服务器。

AWS 对爬虫(发现数据)和 ETL 作业(处理和加载数据)按小时费率收费,按秒计费。 AWS Glue Studio 是内置的 AWS Glue 资源编排引擎,不收取额外费用。要了解有关定价的更多信息,请参阅 AWS Glue 定价

将工作负载迁移到 AWS Step Functi

AWS Step Fun ctions 是一项无服务器编排服务,可让您为业务关键型应用程序构建工作流程。借助 Step Functions,您可以使用可视化编辑器来构建工作流程,并直接与 250 多种 AWS 服务(例如 AWS Lambda、Amazon EMR、DynamoDB 等)的 11,000 多个操作集成。您可以使用 Step Functions 来编排数据处理管道、处理错误以及处理底层服务的限制限制。 AWS 您可以创建用于处理和发布机器学习模型、编排微服务以及控制 AWS 服务的工作流程,例如创建提取 AWS Glue、转换和加载 (ETL) 工作流程。您还可以为需要人为交互的应用程序创建长时间运行的自动化工作流。

与之类似 AWS Data Pipeline, AWS Step Functions 是由提供的完全托管的服务 AWS。您无需管理基础架构、补丁工作人员、管理操作系统版本更新或类似内容。

在以下情况下,我们建议将 AWS Data Pipeline 工作负载迁移到 AWS Step Functions:

  • 您正在寻找一种无服务器、高度可用的工作流编排服务。

  • 您正在寻找一种经济实惠的解决方案,该解决方案可以按单个任务执行的粒度收费。

  • 您的工作负载正在为多项其他 AWS 服务(例如 Amazon EMR、Lambda 或 DynamoD AWS Glue B)编排任务。

  • 您正在寻找一种低代码解决方案,该解决方案带有用于创建工作流程 drag-and-drop 的可视化设计器,并且不需要学习新的编程概念。

  • 您正在寻找一种服务,该服务可以与其他250多种 AWS 服务集成,涵盖11,000多个操作 out-of-the-box,并允许与自定义非AWS 服务和活动集成。

AWS Data Pipeline 和 Step Functions 都使用 JSON 格式来定义工作流程。这允许将您的工作流存储在源代码管理中,管理版本,控制访问权限,并使用 CI/CD 实现自动化。Step Functions 使用一种名为 Amazon State Language 的语法,该语法完全基于 JSON,允许在工作流的文本和视觉表现形式之间实现无缝切换。

使用 Step Functions,您可以选择与当前在 AWS Data Pipeline中使用的同一版本的 Amazon EMR。

要迁移 AWS Data Pipeline 托管资源上的活动,您可以在 Step Functions 上使用 AWS SDK 服务集成来自动配置和清理资源。

要在本地服务器、用户管理的 EC2 实例或用户管理的 EMR 集群上迁移活动,您可以为该实例安装 SSM 代理。你可以通过 Step Functions 中的 AWS Systems Manager 运行命令来启动该命令。您也可以按照 Amazon 中定义的计划启动状态机 EventBridge。

AWS Step Functions 有两种类型的工作流程:标准工作流程和快速工作流程。对于标准工作流,您需要根据运行应用程序所需的状态转换次数付费。对于快速工作流,您需要根据工作流的请求数量及其持续时间付费。在 AWS Step Functions 定价中了解更多有关定价的信息。

将工作负载迁移到 Amazon MWAA

Amazon MWAA(Apache Airflow 托管工作流程)是一项针对 Apache Airflow 的托管编排服务,它可以更轻松地在云中大规模设置和操作 end-to-end 数据管道。Apache Airflow 是一种开源工具,用于以编程方式编写、安排和监视被称为“工作流”的流程和任务序列。借助 Amazon MWAA,您可以使用 Airflow 和 Python 编程语言来创建工作流程,而无需管理底层基础设施即可实现可扩展性、可用性和安全性。Amazon MWAA 会自动扩展其工作流程执行能力以满足您的需求,并与 AWS 安全服务集成,可帮助您快速、安全地访问数据。

与之类似 AWS Data Pipeline,Amazon MWAA 是由提供的完全托管服务。 AWS虽然您需要学习一些特定于这些服务的新概念,但您无需管理基础设施、补丁工作人员、管理操作系统版本更新或类似内容。

我们建议在以下情况下将您的 AWS Data Pipeline 工作负载迁移到 Amazon MWAA:

  • 您正在寻找一种托管、高度可用的服务来编排用 Python 编写的工作流。

  • 您想过渡到完全托管、广泛采用的开源技术 Apache Airflow,以实现最大的便携性。

  • 您需要一个能够处理数据管道各个方面的单一平台,包括摄取、处理、传输、完整性测试和质量检查。

  • 您正在寻找一种专为数据管道编排而设计的服务,该服务具有丰富的用户界面以实现可观测性、针对失败的工作流重新启动、回填和任务重试等功能。

  • 您正在寻找一种包含800多个预建操作员和传感器的服务,包括服务 AWS 以及非AWS 服务。

Amazon MWAA 工作流被定义为使用 Python 的有向无环图(DAG),因此您也可以将其视为源代码。Airflow 的可扩展 Python 框架使您能够构建与几乎任何技术连接的工作流。它具有丰富的用户界面,用于查看和监控工作流,并且可以轻松地与版本控制系统集成,以自动执行 CI/CD 流程。

使用亚马逊 MWAA,您可以选择当前正在 AWS Data Pipeline使用的同一版本的 Amazon EMR。

AWS 按您的 Airflow 环境的运行时间以及为提供更多工作器或 Web 服务器容量而进行的任何额外自动缩放收费。在 Amazon Managed Workflows for Apache Airflow Pricing 中详细了解定价。

映射概念

下表包含服务使用的主要概念的映射。它将帮助熟悉 Data Pipeline 的人理解 Step Functions 和 MWAA 术语。

样本

以下各节列出了一些公开示例,您可以参考这些示例来迁移 AWS Data Pipeline 到各个服务。您可以将它们作为示例,并根据您的用例对其进行更新和测试,从而在各个服务上构建自己的管道。

AWS Glue 样本

以下列表包含最常见 AWS Data Pipeline 用例的示例实现。 AWS Glue

AWS Step Functions 示

以下列表包含 Ste AWS p Functions 最常见 AWS Data Pipeline 用例的示例实现。

有关使用 AWS Step Functions 的其他教程示例项目

Amazon MWAA 示例

以下列表包含 Amazon MWAA 最常见 AWS Data Pipeline 用例的示例实现。

有关使用 Amazon MWAA 的其他教程示例项目