資料倉儲建模 中階
dbt 資料轉換工作流
請說明 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 評分
