本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将工作负载从迁移 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 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 的有向无环图 |
管道执行环境 | 工作流程在 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 运行 |
|
尝试是指重试失败的操作。 | Amazon MWAA 支持您在 DAG 级别或任务级别定义的重试。 |
示例实施
在许多情况下,迁移到 Amazon MWAA Amazon Data Pipeline 后,您将能够重复使用当前正在协调的资源。以下列表包含针对最常见 Amazon Data Pipeline 用例使用 Amazon MWAA 的示例实现。
-
运行 Amazon EMR 作业(研讨会
)Amazon -
为 Apache Hive 和 Hadoop 创建自定义插件(《Amazon MWAA 用户指南》)
-
将数据从 S3 复制到 Redshift(研讨会
)Amazon -
在远程 Amazon ECS 实例上执行 shell 脚本(《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
相关资源
有关更多信息以及 使用 Amazon MWAA 的最佳实践,请参阅以下资源: