

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

# 将工作负载从迁移 Amazon Data Pipeline 到 Amazon MWAA
<a name="migrating-pipeline-workloads"></a>

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。

**Topics**
+ [选择 Amazon MWAA](#migrating-pipeline-workloads-mwaa)
+ [架构和概念映射](#migrating-pipeline-workloads-concept-mapping)
+ [示例实施](#migrating-pipeline-workloads-examples)
+ [定价比较](#migrating-pipeline-workloads-price-comparison)
+ [相关资源](#migrating-pipeline-workloads-resources)

## 选择 Amazon MWAA
<a name="migrating-pipeline-workloads-mwaa"></a>

 适用于 Apache Airflow 的亚马逊托管工作流程（亚马逊 MWAA）是一项适用于 Apache Airflow 的托管编排服务，允许您在 end-to-end云中大规模设置和操作数据管道。[Apache Airflow](https://airflow.apache.org/) 是一种开源工具，用于以编程方式编写、调度和监视统称为*工作流程*的各种流程和任务序列。借助 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](https://www.getdbt.com/) atabricks）集成。](https://www.databricks.com/)](https://www.snowflake.com/en/)这使您可以跨不同的环境和服务处理和传输数据。
+ **开源数据管道工具** — Amazon MWAA 利用的是您熟悉的开源 Apache Airflow 产品。Apache Airflow 是一款专门构建的工具，旨在处理数据管道管理的各个方面，包括摄取、处理、传输、完整性测试、质量检查和确保数据世系。
+ **现代灵活的架构** — Amazon MWAA 利用容器化和云原生无服务器技术。这意味着可以提高灵活性和便携性，并更轻松地部署和管理工作流程环境。

## 架构和概念映射
<a name="migrating-pipeline-workloads-concept-mapping"></a>

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

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

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



- **管道定义**
  - **Amazon Data Pipeline:**  Amazon Data Pipeline 使用基于 JSON 的配置文件来定义工作流程。
  - **Amazon MWAA:** Amazon MWAA 使用基于 Python 的有[向无环图](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html) () DAGs 来定义工作流程。

- **管道执行环境**
  - **Amazon Data Pipeline:** 工作流程在 Amazon EC2 实例上运行。 Amazon Data Pipeline 代表您配置和管理这些实例。
  - **Amazon MWAA:** Amazon MWAA 使用 Amazon ECS 容器化环境来运行任务。

- **管道组件**
  - **Amazon Data Pipeline:** 活动是作为工作流程一部分运行的处理任务。 / **Amazon MWAA:** [运算符](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/operators.html)（[任务](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html)）是工作流程的基本处理单元。
  - **Amazon Data Pipeline:** 先决条件包含必须为 true 的条件语句，然后活动才能运行。 / **Amazon MWAA:** [传感器](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/sensors.html)（[任务](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html)）表示条件语句，可以等待资源或任务完成后再运行。
  - **Amazon Data Pipeline:** 中的资源是 Amazon Data Pipeline 指执行管道活动指定的工作的 Amazon 计算资源。Amazon EC2 和 Amazon EMR 是两个可用资源。 / **Amazon MWAA:** 使用 DAG 中的任务，您可以定义各种计算资源，包括 Amazon ECS、Amazon EMR 和 Amazon EKS。Amazon MWAA 对在 Amazon ECS 上运行的工作线程执行 Python 操作。

- **管道执行**
  - **Amazon Data Pipeline:** Amazon Data Pipeline 支持使用常规的基于速率和基于 cron 的模式来调度运行。 / **Amazon MWAA:** Amazon MWAA 支持使用 [cron](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dag-run.html#cron-presets) 表达式和预设以及自定义[时间表](https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/timetable.html)进行调度。
  - **Amazon Data Pipeline:** 实例是指管道的每次运行。 / **Amazon MWAA:** [DAG 运行](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dag-run.html)是指 Apache Airflow 工作流程的每次运行。
  - **Amazon Data Pipeline:** 尝试是指重试失败的操作。 / **Amazon MWAA:** Amazon MWAA 支持您在 DAG 级别或任务级别定义的重试。



## 示例实施
<a name="migrating-pipeline-workloads-examples"></a>

 在许多情况下，迁移到 Amazon MWAA Amazon Data Pipeline 后，您将能够重复使用当前正在协调的资源。以下列表包含针对最常见 Amazon Data Pipeline 用例使用 Amazon MWAA 的示例实现。
+ [运行 Amazon EMR 作业（研讨会](https://catalog.us-east-1.prod.workshops.aws/workshops/795e88bb-17e2-498f-82d1-2104f4824168/en-US/workshop-2-2-2/m1-processing/emr)）Amazon 
+ [为 Apache Hive 和 Hadoop 创建自定义插件](https://docs.amazonaws.cn/mwaa/latest/userguide/samples-hive.html)（*《Amazon MWAA 用户指南》*）
+ [将数据从 S3 复制到 Redshift（研讨会](https://catalog.us-east-1.prod.workshops.aws/workshops/795e88bb-17e2-498f-82d1-2104f4824168/en-US/workshop-2-2-2/m1-processing/redshift)）Amazon 
+ 在[远程 Amazon ECS 实例上执行 shell 脚本](https://docs.amazonaws.cn/mwaa/latest/userguide/samples-ssh.html)（*《Amazon MWAA 用户指南》*）
+ [编排混合（本地）工作流程](https://dev.to/aws/orchestrating-hybrid-workflows-using-amazon-managed-workflows-for-apache-airflow-mwaa-2boc)（博客文章）

 有关额外教程和示例，请参阅以下各项：
+ [Amazon MWAA 教程](https://docs.amazonaws.cn/mwaa/latest/userguide/tutorials.html)
+ [Amazon S3 代码示例](https://docs.amazonaws.cn/mwaa/latest/userguide/sample-code.html)

## 定价比较
<a name="migrating-pipeline-workloads-price-comparison"></a>

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

Amazon MWAA 的定价基于托管 Apache Airflow 环境存在的时间长短，以及提供更多工作线程或计划程序容量所需的任何额外自动扩缩。您按小时为 Amazon MWAA 环境使用量付费（按一秒钟的分辨率计费），费用因环境大小而异。Amazon MWAA 会根据环境配置自动扩缩工作线程数。 Amazon 分别计算额外工作线程的成本。有关使用各种 Amazon MWAA 环境大小的小时费用的更多信息，请参阅 [Amazon MWAA 定价](https://www.amazonaws.cn/managed-workflows-for-apache-airflow/pricing/)页面。

## 相关资源
<a name="migrating-pipeline-workloads-resources"></a>

 有关更多信息以及使用 Amazon MWAA 的最佳实践，请参阅以下资源：
+ [Amazon MWAA API 参考](https://docs.amazonaws.cn/mwaa/latest/API/Welcome.html)
+ [监控 Amazon MWAA 上的控制面板和警报](https://docs.amazonaws.cn/mwaa/latest/userguide/monitoring-dashboard.html)
+ [Amazon MWAA 上的 Apache Airflow 的性能调整](https://docs.amazonaws.cn/mwaa/latest/userguide/best-practices-tuning.html)