資料倉儲建模 中階

dbt 資料轉換工作流

AI 練習作答

請說明 dbt 的工作原理及其在現代資料堆疊中的角色。

什麼是 dbt

dbt(data build tool)是一個 SQL-first 的轉換框架,讓資料工程師用 SQL + Jinja 模板建立可版本控制、可測試的資料轉換邏輯。

核心概念

Model:每個 .sql 文件定義一個 SELECT 語句,dbt 將其編譯為 CREATE TABLE AS 或 CREATE VIEW AS 語句在倉儲中執行。

Materialization 類型

  • view:每次查詢時執行 SQL,不儲存資料。
  • table:將結果儲存為實體表,查詢快但每次全量重建。
  • incremental:只處理新增/更新的資料,適合大表。

Ref 函數{{ ref('model_name') }} 引用其他模型,dbt 自動解析依賴順序。

Tests:宣告式資料品質測試(not_null、unique、accepted_values)。

Documentation:自動生成資料血緣圖(Lineage Graph)和資料字典。

層次架構

Staging(原始清洗) → Intermediate(業務邏輯) → Marts(面向分析師的最終表)。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分