建立 dbt 專案

dbt 入門

Mike Metzger

Data Engineer

什麼是 dbt 專案

  • 包含在 dbt 中處理資料的元件

    • 專案設定
    • 資料來源與目的地
    • SQL 查詢
    • 範本
    • 文件
  • 以資料夾結構實作

dbt 資料夾結構

dbt 入門

如何建立新專案

  • 使用 dbt init 指令
    • 詢問專案名稱
    • 詢問資料庫/資料倉儲類型
  • 可用 dbt init <projectname> 簡化
  • 會建立最上層專案資料夾與所需結構
repl:~/workspace$ dbt init
16:38:37  Running with dbt=1.8.4
Enter a name for your project (letters, digits, underscore): test_project
Which database would you like to use? [1] duckdb
Enter a number: 1
...
dbt 入門

用專案 profiles 定義設定

  • Profile 代表一種部署情境
    • 開發
    • Staging/測試
    • 正式環境
  • 一個 dbt 專案可有多個 profiles
  • 定義於 profiles.yml 檔案
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
dbt 入門

YAML

  • Yet Another Markup Language
  • 文字檔,但縮排很重要(類似 Python)
  • 常用於多種開發情境的設定
  • 規則較繁瑣,重點是依範例對齊各項目
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
dbt 入門

DuckDB

  • 開源無伺服器資料庫
    • 類似 sqlite
  • 為分析設計
  • 向量化(也就是很快)
  • 易於使用

duckdb 標誌

dbt 入門

一起來練習吧!

dbt 入門

Preparing Video For Download...