Amazon DEA-C01: 數據編排與工作流程管理 — 學習指南

屬於 Amazon Data Engineer Associate DEA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.

協同運作與工作流程管理是建立可靠、可維護資料平台的中心要素:它們協調 ETL (extract-transform-load) 任務、管理相依性、處理故障,並整合事件驅動的流程。這個領域涵蓋了 AWS 為批次 ETL、複雜 DAG、無伺服器狀態機和事件排程所提供的受管選項——每種選項都有不同的執行語意、持久性與擴展性的權衡取捨。了解何時該使用 AWS Glue Workflows、MWAA、Step Functions 或 EventBridge Scheduler——以及如何設定錯誤處理與可觀測性——對於建立可預測的管線與控制營運成本至關重要。

AWS Glue Workflows 與觸發器

AWS Glue Workflows 將 Glue 任務、crawlers 和觸發器組合成一個相依性圖表,讓您能夠執行協調的 ETL。您可以透過主控台或 CLI (

undefined

) 建立工作流程。觸發器附加於工作流程,並有三種類型:排程 (scheduled)、隨需 (on-demand) 和條件式 (conditional)。排程觸發器的 CLI 建立範例如下:

undefined

條件式觸發器使用一個參照任務名稱和狀態 (SUCCEEDED, FAILED) 的 Predicate。Predicate JSON 範例:

undefined

。預設情況下,Glue 條件式觸發器會在成功時觸發;若要處理失敗,可設定 State=FAILED 的條件,或建立一個明確的 FAILED 觸發器,將錯誤路由到修復任務或 SNS 警示。

營運模式與決策標準:

undefined

或針對隨需觸發器使用 start-trigger。

錯誤處理:新增 FAILED 觸發器、為任務成功/失敗發送 CloudWatch 指標,並透過 Lambda 將失敗推送到 SQS/SNS 的無效字母佇列 (dead-letter queue),以進行自動重試和調查。

用於複雜 DAG 的 Amazon MWAA (Managed Airflow)

MWAA 提供一個受管的 Apache Airflow 環境,用以表達複雜的 DAG、任務相依性、感測器 (sensors) 和自訂運算子 (operators)。使用

undefined

建立環境,並提供一個 DAG 的 S3 路徑和執行角色。重要的規模調整與網路細節:

決策標準:

Airflow 中的錯誤處理:在 DAG 定義中使用任務重試 (task retries) 和 retry_delay,設定 on_failure_callback 以進行通知或推送到 SQS 無效字母佇列,並設定任務層級的 SLA 處理來觸發修復用的 DAG。

用於無伺服器協同運作的 AWS Step Functions

Step Functions 使用基於 JSON 的 Amazon States Language 提供有狀態的協同運作,並廣泛整合 AWS 服務。可在 Standard 和 Express 工作流程之間選擇:

undefined

啟動。

使用案例與決策標準:

錯誤處理與整合模式:

EventBridge Scheduler 與事件驅動的管線

EventBridge 提供豐富的事件路由功能以及一個用於 cron 和一次性任務的 Scheduler 功能。使用 aws events put-rule --name dailyRule --schedule-expression "cron(0 2 * * ? *)" 來建立基於排程的規則,並透過 aws events put-targets 附加目標。對於事件驅動(模式)的路由,使用 put-rule 搭配 --event-pattern '{"source":["aws.s3"],"detail-type":["Object Created"]}' 將 S3 事件路由到 Lambda、Step Functions 或 SQS。

關鍵操作要點:

錯誤處理:設定針對特定目標的重試次數和退避策略,使用 DLQ 處理失敗的交付,並將 EventBridge 與 Step Functions 結合以處理複雜的錯誤處理和補償性交易。

常見陷阱與決策標準

實務問題:Acme Retail 的每小時 ETL 與流量尖峰

Acme Retail 需要一個每小時運行的 ETL,該 ETL 會執行 Glue 任務進行原始資料擷取、一個帶有 Python 運算子的複雜資料擴充 DAG,以及一個必須回應高頻率庫存事件的短期 SKU 彙總。他們要求強健的重試和失敗捕獲機制。

  1. 使用 EventBridge 觸發一個每小時的排程規則,該規則會調用一個 Step Functions Standard workflow 來協調整個管線。
  2. 在 Step Functions 中,使用 Retry 和 Catch 處理器來協作長時間運行的 Glue 任務(StartJobRun);若發生失敗,則透過一個 Catch 區塊將其路由到一個 SQS DLQ 和一個用於修復的 Lambda。
  3. 將複雜的資料擴充 DAG 部署在 MWAA 中,並從 Step Functions 使用 Airflow REST API 或將 DAG 運行訊息放置到 SQS 來調用它們;根據預期的並行性,透過 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 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品