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 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
与之类似 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
AWS Step Functions 有两种类型的工作流程:标准工作流程和快速工作流程。对于标准工作流,您需要根据运行应用程序所需的状态转换次数付费。对于快速工作流,您需要根据工作流的请求数量及其持续时间付费。在 AWS Step Functions 定价
将工作负载迁移到 Amazon MWAA
Amazon MWAA
与之类似 AWS Data Pipeline,Amazon MWAA 是由提供的完全托管服务。 AWS虽然您需要学习一些特定于这些服务的新概念,但您无需管理基础设施、补丁工作人员、管理操作系统版本更新或类似内容。
我们建议在以下情况下将您的 AWS Data Pipeline 工作负载迁移到 Amazon MWAA:
您正在寻找一种托管、高度可用的服务来编排用 Python 编写的工作流。
您想过渡到完全托管、广泛采用的开源技术 Apache Airflow,以实现最大的便携性。
您需要一个能够处理数据管道各个方面的单一平台,包括摄取、处理、传输、完整性测试和质量检查。
您正在寻找一种专为数据管道编排而设计的服务,该服务具有丰富的用户界面以实现可观测性、针对失败的工作流重新启动、回填和任务重试等功能。
您正在寻找一种包含800多个预建操作员和传感器的服务,包括服务 AWS 以及非AWS 服务。
DAGs使用 Python 将 Amazon MWAA 工作流程定义为有向无环图 (),因此您也可以将其视为源代码。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 术语。
Data Pipeline | 连接词 | Step Functions | Amazon MWAA |
---|---|---|---|
Pipelines | 工作流程 | 工作流程 | 有向无环图 |
管道定义 JSON | 工作流定义或基于 Python 的蓝图 | Amazon States Language JSON | 基于 Python |
活动 | 作业 | 状态和任务 | 任务 |
实例 | 任务运行 | 执行 | DAG 运行 |
Attempts | 重试尝试 | 缓存和重试器 | 重试 |
管道计划 | 计划触发器 | EventBridge 调度器任务 | Cron |
管道表达式和函数 | 蓝图库 | Step Functions 内置函数和 AWS Lambda | 可扩展的 Python 框架 |
样本
以下各节列出了一些公开示例,您可以参考这些示例来迁移 AWS Data Pipeline 到各个服务。您可以将它们作为示例,并根据您的用例对其进行更新和测试,从而在各个服务上构建自己的管道。
AWS Glue 样本
以下列表包含最常见 AWS Data Pipeline 用例的示例实现。 AWS Glue
将数据从 JDBC 复制到 Amazon S3
(包括 Amazon Redshift) 将数据从 Amazon S3 复制到 JDBC
(包括 Amazon Redshift)
AWS Step Functions 示
以下列表包含 Ste AWS p Functions 最常见 AWS Data Pipeline 用例的示例实现。
查询大型数据集(亚马逊 Athena、Amazon S3、) AWS Glue
有关使用 AWS Step Functions 的其他教程和示例项目。
Amazon MWAA 示例
以下列表包含 Amazon MWAA 最常见 AWS Data Pipeline 用例的示例实现。