将工作负载从迁移 Amazon Data Pipeline 到 Amazon MWAA - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将工作负载从迁移 Amazon Data Pipeline 到 Amazon MWAA

Amazon 该 Amazon Data Pipeline 服务于 2012 年推出。当时,客户想要一种服务,以允许他们使用各种计算选项在不同数据来源之间移动数据。随着时间的推移,数据传输需求发生了改变,因此满足这些需求的解决方案也随之改变。现在,您可以选择最符合您的业务要求的解决方案。您可以将工作负载迁移到以下任何 Amazon 服务:

  • 使用 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 来管理 Apache Airflow 的工作流程编排。

  • 使用 Step Functions 来编排多个 Amazon Web Services 服务之间的工作流程。

  • Amazon Glue 用于运行和编排 Apache Spark 应用程序。

您选择的选项因 Amazon Data Pipeline上的当前工作负载而定。本主题介绍如何从 Amazon MWAA 迁移 Amazon Data Pipeline 到 Amazon MWAA。

选择 Amazon MWAA

适用于 Apache Airflow 的亚马逊托管工作流程(亚马逊 MWAA)是一项适用于 Apache Airflow 的托管编排服务,可让您在云中大规模设置和操作 end-to-end数据管道。Apache Airflow 是一种开源工具,用于以编程方式编写、调度和监视统称为工作流程的各种流程和任务序列。借助 Amazon MWAA,您可以使用 Apache Airflow 和 Python 编程语言来创建工作流程,而无需管理底层基础设施以实现可扩展性、可用性和安全性。Amazon MWAA 会自动扩展其工作流程容量以满足您的需求,并与 Amazon 安全服务集成,可帮助您快速、安全地访问数据。

以下内容重点介绍了从 Amazon Data Pipeline Amazon MWAA 迁移的一些好处:

  • 增强了可扩展性和性能 — Amazon MWAA 为定义和执行工作流程提供了灵活且可扩展的框架。这使用户可以轻松处理大型和复杂的工作流程,并利用动态任务调度、数据驱动的工作流程和并行性等功能。

  • 改进了监控和日志记录 — Amazon MWAA 与 Amazon 集成 CloudWatch ,可增强对工作流程的监控和记录。Amazon MWAA 会自动向发送系统指标和日志。 CloudWatch这意味着您可以实时跟踪工作流程的进度和性能,并识别出现的任何问题。

  • 更好地与 Amazon 服务和第三方软件集成 — Amazon MWAA 可与各种其他 Amazon 服务(例如亚马逊 S3、Amazon Redshift)以及第三方软件(例如 DBT Amazon Glue、Snowflake 和 D atabricks)集成。这使您可以跨不同的环境和服务处理和传输数据。

  • 开源数据管道工具 — Amazon MWAA 利用的是您熟悉的开源 Apache Airflow 产品。Apache Airflow 是一款专门构建的工具,旨在处理数据管道管理的各个方面,包括摄取、处理、传输、完整性测试、质量检查和确保数据世系。

  • 现代灵活的架构 — Amazon MWAA 利用容器化和云原生无服务器技术。这意味着可以提高灵活性和便携性,并更轻松地部署和管理工作流程环境。

架构和概念映射

Amazon Data Pipeline 和 Amazon MWAA 有不同的架构和组件,这可能会影响迁移过程以及工作流程的定义和执行方式。本节概述了这两种服务的架构和组件,并重点介绍了其中的一些主要区别。

两者 Amazon Data Pipeline 和 Amazon MWAA 都是完全托管的服务。当您将工作负载迁移到 Amazon MWAA 时,您可能需要学习新的概念,以便使用 Apache Airflow 对现有工作流程进行建模。但是,您无需管理基础设施、修补工作线程和管理操作系统更新。

下表将中的关键概念 Amazon Data Pipeline 与 Amazon MWAA 中的关键概念相关联。使用此信息作为起点来设计迁移计划。

概念 Amazon Data Pipeline Amazon MWAA
管道定义 Amazon Data Pipeline 使用基于 JSON 的配置文件来定义工作流程。 Amazon MWAA 使用基于 Python 的有向无环图 () DAGs 来定义工作流程。
管道执行环境 工作流程在 Amazon EC2 实例上运行。 Amazon Data Pipeline 代表您配置和管理这些实例。 Amazon MWAA 使用 Amazon ECS 容器化环境来运行任务。
管道组件 活动是作为工作流程一部分运行的处理任务。 运算符任务)是工作流程的基本处理单元。
先决条件包含必须为 true 的条件语句,然后活动才能运行。 传感器任务)表示条件语句,可以等待资源或任务完成后再运行。
中的资源是 Amazon Data Pipeline 指执行管道活动指定的工作的 Amazon 计算资源。亚马逊 EC2 和亚马逊 EMR 是两个可用资源。 使用 DAG 中的任务,您可以定义各种计算资源,包括 Amazon ECS、Amazon EMR 和 Amazon EKS。Amazon MWAA 对在 Amazon ECS 上运行的工作线程执行 Python 操作。
管道执行 Amazon Data Pipeline 支持使用常规的基于速率和基于 cron 的模式来调度运行。 Amazon MWAA 支持使用 cron 表达式和预设以及自定义时间表进行调度。
实例是指管道的每次运行。 DAG 运行是指 Apache Airflow 工作流程的每次运行。
尝试是指重试失败的操作。 Amazon MWAA 支持您在 DAG 级别或任务级别定义的重试。

示例实施

在许多情况下,迁移到 Amazon MWAA Amazon Data Pipeline 后,您将能够重复使用当前正在协调的资源。以下列表包含针对最常见 Amazon Data Pipeline 用例使用 Amazon MWAA 的示例实现。

有关额外教程和示例,请参阅以下:

定价比较

的 Amazon Data Pipeline 定价取决于管道的数量以及每个管道的使用量。您每天运行一次以上(高频率)的活动每项活动每月花费 1 美元。您每天运行一次或以下(低频率)的活动每项活动每月花费 0.6 美元。非活跃管道的价格为每条管道 1 美元。有关更多信息,请参阅 Amazon Data Pipeline 价格页面

Amazon MWAA 的定价基于托管 Apache Airflow 环境存在的时间长短,以及提供更多工作线程或计划程序容量所需的任何额外自动扩缩。您按小时为 Amazon MWAA 环境使用量付费(按一秒钟的分辨率计费),费用因环境大小而异。Amazon MWAA 会根据环境配置自动扩缩工作线程数。 Amazon 分别计算额外工作线程的成本。有关使用各种 Amazon MWAA 环境大小的小时费用的更多信息,请参阅 Amazon MW AA 定价页面。

相关资源

有关更多信息以及 使用 Amazon MWAA 的最佳实践,请参阅以下资源: