top of page
  • 作家相片Chen Max

dbt:重新定義資料轉換的革命性工具

已更新:9月5日

大幅簡化資料轉換流程


在當今數據驅動的世界中,如何將數據轉換成有價值的資產,領先同業、創造價值是很重要的。如何將散落、品質不一的數據進行轉換,尋求更高效、更精確的方法來管理和轉換大量數據是每間公司需要考量的。在這種時空背景下,選擇一款優秀的數據轉換工具就顯得尤為重要。

dbt 正是這樣一個引領數據轉換革命的工具。


下面將說明 dbt 的功能、不同版本間的選擇以及為什麼要採用 dbt 來提升數據轉換的理由。



什麼是 dbt


dbt 全名為 Data Build Tool,是一款以 SQL 為基礎的資料轉換工具,適用於 ELT(Extract、Load、Transform)流程中的 Transform 部分。


它允許資料分析師和資料工程師使用 SQL 來編寫、測試和部署資料轉換任務,進而建立資料表或視圖,提高資料處理的效率。


dbt 具有下列功能及特點


  • 轉換資料:dbt 允許使用者通過 SQL 來實現資料轉換,將原始資料轉換為業務分析所需的資料模型。


  • 模組化和可重用性:dbt 採用模組化的方式結合 SQL 和軟體工程的最佳實踐,讓資料轉換過程變得更可靠、快速。


  • 測試和版本控制:dbt 支持資料品質測試、版本控制,通過 YAML 文件來聲明屬性,確保轉換過程的準確性和可追溯性。


  • 廣泛支援資料庫:dbt 支援多種資料庫,包括 Azure Synapse、BigQuery、Databricks、Dremio、Postgres、Redshift、Snowflake 等。



dbt 版本


  • dbt Core:免費開源版本,提供基礎的資料建模和轉換功能。


  • dbt Cloud:付費的雲端版本,提供託管服務、CI/CD 部署及圖形化使用介面,適合非技術人員使用。


針對不同公司運用場景提供了兩種版本,分別是雲端 ( dbt Cloud ) 和地端 ( dbt Core ) ,公司可視需求選擇基本的 dbt Core 或是更加友善、強大的 dbt Cloud。




採用 dbt 的理由


一般採用 stored procedure 的資料轉換,在共用、版本控制、除錯上皆不易管理。 而採用分散式技術,資料分散式運算的技術門檻對於一般公司又顯得略高了一些。 dbt 剛好介於兩者之間,它具有下列的優勢。


  • 降低轉換門檻:傳統 ETL 需要較高的技術門檻,而 dbt 透過 SQL 技術讓資料轉換變得簡單,降低了對資料工程能力的要求。


  • 軟體工程實踐:dbt 將軟體工程實踐引入到資料轉換過程中,例如 版本控制、自動化測試和文件,提供開發一致性和開發效率。dbt 提供了一套指南,幫助開發者輕鬆使用這些最佳實踐


  • 擴展與整合:dbt 可以與現有的資料工具和雲端服務(如:Apache Airflow、AWS、GCP ... 等)進行整合,靈活地建構、管理資料管道。


  • 資料品質管理:dbt 支援自動化資料品質測試。透過編寫測試來確保資料的準確性和一致性,並進一步強化資料品質檢查。


  • 模組化和自動化:dbt 支援 SQL 模組化,這不僅提升了開發效率,也減少了重複工作的問題。通過 dbt run 命令,可以自動執行整個資料轉換流程,避免了手動操作的繁瑣和錯誤。


  • 資料血緣圖:dbt 透過 DAG 很容易的產生資料血緣圖。可以用它找出資料管道損壞的原因。利用它提升資料的透明度,讓業務人員更加了解資料源由。


  • 豐富的社群和資源: dbt 擁有廣大的社群支援,提供了豐富的教學和範例,讓新手更容易入門。




總結


dbt 是現代數據堆棧中不可或缺的工具,通過簡單的 SQL 組成,讓資料分析師、工程師能夠有效的進行資料轉換和建模,適合希望提升資料轉換效率和品質的團隊。

dbt 軟體工程實踐,大幅提升資料處理的可靠性和效率,使得數據團隊能夠專注於生產價值更高的數據分析工作。








Kommentare


bottom of page