Google PDE: 工作流程編排與管線自動化 — 學習指南

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

可靠性、故障處理與冪等性

重試、逾時與退避 (backoff)

回填 (Backfills)、追補 (Catchup) 與故障處理

冪等性任務設計與重新執行

故障排除與擴展性

安全性、參數化、環境與 CI/CD

參數化與組態管理

密鑰、服務帳戶與最小權限原則

CI/CD 與基礎設施即程式碼 (IaC)

可觀測性、警報與 Runbook

遙測與警報

Runbook 設計

實務問題情境

Acme 零售分析公司需要擷取每日合作夥伴提供的 CSV 檔案,這些檔案偶爾會包含格式錯誤的資料列。他們需要轉換並將有效的資料載入到 BigQuery,並將錯誤的資料列呈現出來以供調查。此外,他們還希望透過事件驅動的方式進行資料擴充,以實現近乎即時的價格更新,並能安全地將程式碼從開發 (dev) 環境推廣到生產 (prod) 環境。

方法:

  1. 儲存與事件觸發器

    • 建立一個專用的 Cloud Storage 儲存貯體,並啟用物件版本管理 (object versioning) 與統一的儲存貯體層級存取權 (uniform bucket‑level access)。透過 Eventarc 將物件完成 (object finalize) 的通知發送到 Pub/Sub。
    • 理由:物件完成 (Object finalization) 是一個可靠的事件,可用於觸發下游的擷取作業;版本管理則支援重新執行與稽核。
  2. 具備無效信件處理 (dead‑letter handling) 的批次擷取

    • 使用 Cloud Composer 來排程一個每日 02:00 執行的 Airflow DAG,並啟用 catchup。此 DAG 會啟動一個 Dataflow 批次作業,該作業會解析 CSV、驗證 schema,並使用確定性的中繼暫存資料表 (deterministic staging tables) 將有效記錄寫入 BigQuery,然後透過 MERGE 指令合併到分割後的目標資料表中。將格式錯誤或失敗的記錄路由到一個 BigQuery 的無效信件資料表 (dead-letter table)。
    • 理由:Dataflow 可擴展解析/驗證的效能;MERGE 確保了冪等性 (idempotency);無效信件的捕獲支援在不阻斷 pipeline 的情況下進行檢查,這符合處理格式錯誤資料列的建議模式。
  3. 事件驅動的資料擴充

    • 部署一個 Cloud Run 作業,為增量的價格更新執行輕量級的資料擴充。當白天有小型更新檔案送達時,透過監聽來自 Eventarc 的 Pub/Sub 訊息的 Cloud Workflows 來觸發此作業。
    • 理由:使用 Workflows 的無伺服器容器 (Serverless containers) 為小型事件提供了低延遲、低維運的 orchestration,同時將繁重的轉換作業保留在批次處理中。
  4. 可靠性控制

    • 為 Dataflow 和 Cloud Run 作業中的暫時性故障設定具備指數輪詢 (exponential backoff) 的重試機制,並將總重試時間限制在 DAG 的 SLA 內。在 Airflow 中設定每個任務的執行逾時 (execution timeouts) 與 on_failure 回呼;在 Workflows 中,設定 max_doublings 與 max_retry_duration。
    • 理由:有界線的輪詢 (Bounded backoff) 能維持 SLA 並防止失控的重試。
  5. 安全性與最小權限原則

    • 讓每個元件都在專用的服務帳戶 (service account) 下執行:Composer orchestrator SA、Dataflow worker SA、Cloud Run job SA。僅授予必要的角色:將擷取儲存貯體的 GCS 讀取權限授予 Dataflow、將目標資料集的 BigQuery dataEditor 角色授予相關服務,以及日誌的 Viewer 角色。將密鑰儲存在 Secret Manager 中,並在執行期參考它們。
    • 理由:強制執行最小權限原則並隔離爆炸半徑 (blast radius)。
  6. 由元資料 (Metadata) 驅動的 Orchestration

    • 維護一個 BigQuery 控制資料表,其中列出合作夥伴來源、檔案模式和目標資料集。在 DAG 執行期間,Airflow 會查詢此資料表,並使用動態任務對應 (dynamic task mapping) 來為每個合作夥伴生成對應的任務。
    • 理由:新增合作夥伴變成了一項資料變更,而非程式碼變更,從而降低了部署風險。
  7. 可觀測性與警報

    • 發送帶有 run_id 和 partner_id 的結構化日誌。為 DAG SLA 未達成、Dataflow 系統延遲和無效信件計數非空的情況建立警報政策。針對目標資料表的 BigQuery 插入作業,設定一個 Cloud Logging sink,並使用進階篩選器將該資料表的日誌導向一個 Pub/Sub 主題,供 Acme 的監控工具取用。
    • 理由:細粒度的警報能夠在沒有雜訊的情況下實現快速分類處理 (triage)。
  8. CI/CD 與環境推廣

    • 使用 Terraform 管理基礎設施 (儲存貯體、Pub/Sub、Eventarc、Composer、Workflows、BigQuery 資料集)。使用 Cloud Build 來驗證 Airflow DAG 語法、執行單元測試,並部署到開發用的 Composer 環境。在 Dataform 斷言和整合測試通過後,使用參數化設定檔和手動批准關卡 (manual approval gates) 將其推廣到測試 (test) 和生產 (prod) 環境。
    • 理由:宣告式、可重複的部署,以及跨環境的安全推廣。
  9. Runbook 與復原

    • 文件化重播特定日期的步驟:從物件版本管理中還原 CSV、針對該分割區重新執行 Dataflow 作業、MERGE 結果,並檢視 DLQ 記錄。包含一個「固定資料集重播 (fixed dataset replay)」程序,以便在出現差異時隔離轉換過程中的錯誤。
    • 理由:冪等性設計和文件化的復原程序簡化了部分失敗的修復工作。

資料擷取、整合與遷移 · 所有領域 · 機器學習、AI 與資料服務

練習這些題目 → · 在 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.

通過考試 →

瀏覽 Google →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

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