根據官方文件、Quickstart 安裝好 dbt 之後,我們要怎麼使用呢?
首先要介紹 dbt 核心功能指令
dbt run
dbt run
dbt 就是最核心的指令,用於執行 dbt 專案中的 model,並根據設定 view 或 table,執行你的 model 中的 SQL 查詢,更新資料庫的 view 或 table ,這是執行 data transformation 過程的最關鍵步驟
dbt test
dbt test
指令用於執行數據測試,確保你的 model 和查詢生成的結果是正確的。你可以定義各種數據測試,從最基本內建的 unique, not null 測試,到是否更新、數值是否異常、也可自己定義測試語法,使用 dbt test 以驗證數據品質和一致性,後篇有更詳盡的介紹
dbt compile
dbt compile
指令用於編譯 dbt 專案。它檢查 model 定義中的語法錯誤並生成相應的 SQL 代碼,以便後續的運行和建立步驟 →適合用在 CI 流程前半段先偵測語法,若有語法錯誤先抓出來,若 CI 先跑 dbt run ,雖然知道錯誤但會用到資料庫資源
dbt build
dbt build
指令用於建立完整 dbt 指令,他會依照你的 model 順序執行 dbt seed
(匯入 csv 檔),dbt run
,dbt snapshot
(存檔快照),dbt test
dbt build
適合在平常正式環境執行,因為 dbt build
會先檢查你的 source 設定的 test ,後續才執行 dbt run
更新資料庫,也就是下游資料表 dbt run
之前上游表都會經過檢查,若有問題可以中斷不執行或發出警示,如此確保上下游資料品質一致。而 dbt run
不會管資料品質,單純更新資料表,因此定期在正式環境跑 dbt 資料更新,使用 dbt build
是建議的作法