什麼是 dbt 模型?

dbt 入門

Mike Metzger

Data Engineer

什麼是資料模型?

  • 概念性,定義依情境而異
  • 表達資料的邏輯意義
  • 說明資料與其元件的關聯
  • 協助使用者協作
dbt 入門

什麼是資料模型?

  • 概念性,定義依情境而異
  • 表達資料的邏輯意義
  • 說明資料與其元件的關聯
  • 協助使用者協作
物種 腿數 有毒
獵豹 4 否
鴨子 2 否
鴨嘴獸 4 是
響尾蛇 0 是
dbt 入門

dbt 中的模型是什麼?

  • 表達各種轉換
  • 通常以 SQL 撰寫
    • 新版本可使用 Python
  • 多為 SELECT 查詢
  • 每個模型以 .sql 副檔名的文字檔表示
dbt 入門

簡單的 dbt 模型

  1. 在 models 目錄內建立一個子目錄
  2. 在上述目錄中建立 .sql 檔
  3. 將 SQL 陳述式加入新檔案
  4. 執行 dbt run 以實體化模型
bash> mkdir models/order
bash> touch models/order/customer_orders.sql
select first_name, 
       last_name,
       shipping_address,
       item_quantity
from source_table

bash> dbt run

dbt 入門

讀取 Parquet

  • Parquet?
    • 欄式二進位檔案格式
    • DuckDB 可直接讀取 Parquet 檔
    • read_parquet
      • SELECT * FROM read_parquet('filename.parquet')
    • 或直接使用以單引號包住的檔名
      • SELECT * FROM 'filename.parquet'
dbt 入門

一起來練習吧!

dbt 入門

Preparing Video For Download...