dbt 安裝與環境設定

在開始安裝之前,先了解 dbt 有兩個主要版本:

  1. dbt Core:開源版本,是一個命令行工具 (CLI)。你需要自己安裝、設定環境與排程執行。這是本系列教學使用的版本,適合開發者與學習使用。
  2. 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 專案並設定資料庫連線了。