Amazon DEA-C01: 数据编排和工作流管理 — 学习指南

属于 Amazon Data Engineer Associate DEA-C01 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.

编排和工作流管理是构建可靠、可维护的数据平台的核心:它们协调提取-转换-加载 (ETL) 作业、管理依赖关系、处理故障并集成事件驱动的流程。该领域涵盖了用于批量 ETL、复杂 DAG、无服务器状态机和事件调度的托管式 AWS 选项——每种选项都有不同的执行语义、持久性和扩展性权衡。理解何时使用 AWS Glue Workflows、MWAA、Step Functions 或 EventBridge Scheduler,以及如何配置错误处理和可观测性,对于实现可预测的管道和控制运营成本至关重要。

AWS Glue Workflows 和触发器

AWS Glue Workflows 将 Glue 作业、爬网程序和触发器组合成一个依赖关系图,让您能够运行协调的 ETL。通过控制台或 CLI (aws glue create-workflow –name MyWorkflow) 创建工作流。触发器附加到工作流上,有三种类型:计划、按需和条件。为计划触发器创建的 CLI 示例:

条件触发器使用一个引用作业名称和状态 (SUCCEEDED, FAILED) 的断言 (Predicate)。断言 JSON 示例:{“Logical”:“AND”,“Conditions”:[{“JobName”:“prev-job”,“State”:“SUCCEEDED”}]}。默认情况下,Glue 条件触发器在成功时触发;要处理失败,请使用 State=FAILED 配置条件,或创建一个显式的 FAILED 触发器,将错误路由到修复作业或 SNS 警报。

操作模式和决策标准:

错误处理:添加 FAILED 触发器,为作业成功/失败发出 CloudWatch 指标,并通过 Lambda 将失败推送到 SQS/SNS 死信队列,以进行自动重试和调查。

用于复杂 DAG 的 Amazon MWAA (Managed Airflow)

MWAA 提供了一个托管的 Apache Airflow 环境,用于表达复杂的 DAG、任务依赖、传感器 (sensor) 和自定义算子 (operator)。使用 aws mwaa create-environment –name MyEnv –airflow-configuration-options Key=core.executor,Value=CeleryExecutor 创建环境,并提供 DAG 的 S3 路径和执行角色。重要的规模和网络细节:

决策标准:

Airflow 中的错误处理:在 DAG 定义中使用任务重试和 retry_delay,设置 on_failure_callback 以进行通知或推送到 SQS 死信队列,并配置任务级别的 SLA 处理以触发修复 DAG。

用于无服务器编排的 AWS Step Functions

Step Functions 提供有状态的编排,使用基于 JSON 的 Amazon States Language,并与众多 AWS 服务广泛集成。在标准 (Standard) 和快速 (Express) 工作流之间进行选择:

用例和决策标准:

错误处理和集成模式:

EventBridge Scheduler 和事件驱动的管道

EventBridge 为 cron 和一次性任务提供了丰富的事件路由和 Scheduler 功能。使用

undefined

创建基于计划的规则,并通过

undefined

附加目标。对于事件驱动(模式)路由,使用带有

undefined

put-rule 命令,将 S3 事件路由到 Lambda、Step Functions 或 SQS。

关键操作要点:

错误处理:配置特定于目标的重试次数和退避策略,对失败的投递使用 DLQ,并将 EventBridge 与 Step Functions 结合使用以处理复杂的错误和补偿事务。

常见陷阱与决策标准

实践问题:Acme Retail 应对流量尖峰的每小时 ETL

Acme Retail 需要一个每小时运行的 ETL 流程,该流程运行 Glue 作业进行原始数据提取,一个带有 Python 算子的复杂数据浓缩 DAG,以及一个必须响应高频库存事件的短期 SKU 聚合。他们要求有稳健的重试机制和故障捕获能力。

  1. 使用 EventBridge 触发一个每小时的计划规则,该规则调用一个 Step Functions Standard 工作流来协调整个管道。
  2. 在 Step Functions 中,使用 RetryCatch 处理器来编排长时间运行的 Glue 作业(StartJobRun);在失败时,通过 Catch 块将任务路由到一个 SQS DLQ 和一个用于修复的 Lambda。
  3. 在 MWAA 中部署复杂的数据浓缩 DAG,并从 Step Functions 中通过 Airflow REST API 或通过向 SQS 放置 DAG 运行消息来调用它们;根据预期的并发量,通过 celery.worker_autoscale 设置来调整 MWAA worker 的大小,并监控 CloudWatch 指标以进行调整。
  4. 对于高频库存事件,使用 EventBridge 事件模式规则将事件推送到一个带有幂等性密钥的 Express Step Function 或 Lambda,并使用一个由 SQS 支持的 DLQ 来吸收流量突发。
  5. 实施集中式监控(CloudWatch Logs/Metrics,用于 Step Functions 的 X-Ray),并针对 DLQ 积压增长和任务重试耗尽设置告警。

设计原理:此设计为每个需求都使用了正确的工具——Step Functions 用于持久化的跨服务编排和错误处理,MWAA 用于复杂的 DAG 逻辑,Glue 用于托管的 ETL,EventBridge 用于计划和反应式事件。它强制实施了幂等性和 DLQ,以构建符合 AWS 最佳实践的、有弹性且可观测的管道。


数据转换和处理 · 所有领域 · 数据查询和分析

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Amazon →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品