dbt 安裝與環境設定
在開始安裝之前,先了解 dbt 有兩個主要版本:
- dbt Core:開源版本,是一個命令行工具 (CLI)。你需要自己安裝、設定環境與排程執行。這是本系列教學使用的版本,適合開發者與學習使用。
- dbt Cloud:由 dbt Labs 提供的託管服務 (SaaS)。提供網頁版 IDE、排程器、CI/CD 整合等功能。適合企業團隊協作。
本教學將專注於 dbt Core 的安裝與使用,讓你能在自己的電腦上進行開發。
前置需求
dbt Core 是以 Python 編寫的工具,因此你的電腦需要具備:
- Python:建議安裝 Python 3.8 或以上版本。
- Git:用於版本控制 (非強制,但強烈建議)。
你可以在終端機 (Terminal) 輸入以下指令檢查是否已安裝 Python:
python3 --version
# 或
python --version
步驟一:建立 Python 虛擬環境 (Virtual Environment)
為了避免套件版本衝突,強烈建議在專案目錄下建立一個獨立的 Python 虛擬環境來安裝 dbt。
首先,建立一個專案資料夾並進入:
mkdir my-dbt-project
cd my-dbt-project
接著,建立虛擬環境 (這裡是將虛擬環境命名為 venv):
python3 -m venv venv
啟動虛擬環境:
- MacOS / Linux:
source venv/bin/activate - Windows (Command Prompt):
venv\Scripts\activate - Windows (PowerShell):
venv\Scripts\Activate.ps1
啟動成功後,你的終端機提示字元前方應該會出現 (venv) 的字樣。
步驟二:安裝 dbt Core 與 Adapter
dbt 需要透過 Adapter 來與不同的資料庫溝通。你不需要單獨安裝 dbt-core,通常只需安裝對應資料庫的 Adapter,pip 會自動幫你安裝依賴的 dbt-core。
常見的 Adapters 如下:
- MySQL:
dbt-mysql - PostgreSQL:
dbt-postgres - BigQuery:
dbt-bigquery - Snowflake:
dbt-snowflake - Redshift:
dbt-redshift - Databricks:
dbt-databricks
假設我們將使用 PostgreSQL 作為目標資料庫,請執行以下指令安裝:
pip install dbt-postgres
如果你使用的是 BigQuery,則安裝:
pip install dbt-bigquery
注意:請確保你的
pip 是在虛擬環境中執行。步驟三:驗證安裝
安裝完成後,使用以下指令確認 dbt 是否安裝成功以及版本資訊:
dbt --version
輸出結果應該會類似這樣:
Core:
- installed: 1.8.0
- latest: 1.8.0 - Up to date!
Plugins:
- postgres: 1.8.0 - Up to date!
看到 installed 版本號,且 Plugins 列表中有你安裝的 Adapter,就代表安裝成功了!
常見問題
pip install 權限錯誤
如果在安裝過程中遇到權限錯誤 (Permission denied),請不要使用 sudo 安裝。請確保你已經啟動了虛擬環境,或者在全域安裝時使用 pip install --user dbt-postgres。
dbt 升級
若未來需要升級 dbt 版本,可以使用以下指令:
pip install --upgrade dbt-postgres
現在你已經在本地環境成功安裝了 dbt Core。環境準備好後,我們就可以開始建立 dbt 專案並設定資料庫連線了。