Amazon DEA-C01: 數據品質、驗證與可觀察性 — 學習指南
屬於 Amazon Data Engineer Associate DEA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
SLA 管理與管線可靠性
SLA 管理將可觀測性與修復及可靠性工程連結起來。為每個管線配置這些基準指標:吞吐量 (records/sec)、延遲 (ingest→sink)、錯誤率、任務/執行時間,以及下游計數。使用 CloudWatch Metrics 來監控 Glue 任務 (任務執行指標)、Kinesis/Kafka 的消費者延遲,以及透過 PutMetricData 傳送的自訂應用程式指標。
可靠性模式與組態細節:
- 死信佇列 (SQS DLQ):對於串流消費者 (Lambda、Kinesis consumers),設定一個 DLQ 並設置
RedrivePolicy(maxReceiveCount)。利用 DLQ 保留機制和一個獨立的處理任務來檢查並重新處理 DLQ 中的訊息。 - 冪等設計:確保目的地支援冪等寫入 — 範例如下:
- DynamoDB:使用帶有條件運算式的 PutItem,或使用複合鍵作為冪等性權杖。
- S3:使用原子性重新命名模式寫入,或使用基於內容的鍵值 (記錄的雜湊值),這樣重播時會覆寫而非產生重複資料。
- Redshift/Glue ETL:使用暫存區 (staging) 加上依鍵值
MERGE的方式,在重新處理後去除重複資料。
- 檢查點機制:啟用 Kinesis/DynamoDB 連接器的檢查點,並管理消費者建立檢查點的頻率,以平衡重新處理的窗口大小與資料重複的風險。
重試與快速失敗的決策標準:
- 對於暫時性故障 (如下游服務調節),實作帶有指數退避的重試機制,並在達到最大重試次數後才將訊息送入 DLQ。
- 對於資料品質故障 (如結構描述不符),應快速失敗,並將有問題的記錄連同供手動審查的中繼資料寫入一個隔離用的 S3 前綴。
常見陷阱與決策標準
- Glue Data Quality 規則預設只會記錄失敗,但不會讓任務失敗 — 對於關鍵檢查,應將規則動作設定為
FAIL,並將規則集評估附加到任務執行中。 - 沒有 DLQ 的串流管線會丟棄或遺失失敗的記錄 — 務必設定 SQS DLQ (或持久性的 S3 暫存區) 以及重驅動策略,以便檢查和重新處理。
- 沒有冪等性的重新處理會產生重複記錄 — 設計決定性鍵值、在目的地端使用 upsert/merge 語意,或對 S3 使用基於內容的物件鍵值。
- 沒有基準的資料漂移偵測會產生雜訊警報 — 應排程 Glue DataBrew 分析任務來建立並儲存基準統計資料,然後將新的分析結果與其進行比較。
- 過度依賴靜態 CloudWatch 閾值會導致誤報 — 對於季節性/變動性指標,應使用 CloudWatch 異常偵測,並將靜態閾值保留給不可協商的限制。
- 將
maxReceiveCount設定得太高會延遲訊息進入 DLQ 的時間,並增加處理延遲 — 應選擇一個合理的maxReceiveCount,以便持續失敗的訊息能及時地被送入 DLQ。
實務問題:使用案例情境
Streamline Retail 在夜間 ETL 執行後,經常面臨下游報表的錯誤:偶發的結構描述突增、靜默的規則違反,以及在重新處理失敗的執行時產生重複訂單。
- 實作 Glue Data Quality 規則 (DQDL) 來檢查結構描述、null 值閾值以及
order_id的唯一性;將失敗時的動作設為FAIL以中斷任務,並將評估產物發布到 S3。 - 在一個 Glue Python Shell 步驟中加入 Great Expectations,以進行複雜的業務檢查 (例如跨資料表的訂單一致性);將期望 (expectations) 儲存在 S3 中,並在管線中執行檢查點。
- 排程 DataBrew 分析任務以擷取每日基準 (如基數、null 率、百分位數),並使用自動化比較來偵測資料漂移。
- 對於串流訂單事件,設定帶有適當
RedrivePolicy的 SQS DLQ,並建立一個重播任務,以冪等方式處理 DLQ 訊息 (使用order_id作為去重鍵值)。 - 為任務執行時間和錯誤計數配置 CloudWatch 異常偵測器;將基於異常的警報附加到 SNS 以進行傳呼升級。
AWS 最佳實踐的理由:結合原生的 Glue 品質控制以實現快速整合、Great Expectations 以增強表達能力、DataBrew 以建立基準統計資料,以及 CloudWatch 異常偵測器以進行適應性監控。DLQ 和冪等目的地為安全的重試與重新處理形成了閉環,同時維護了 SLA。
← 數據工作負載的成本優化 · 所有領域
練習這些題目 → · 在 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.
通過考試 →