複習:dbt 個案研究

案例研習:使用 dbt 建立電商資料模型

Susan Sun

Freelance Data Scientist

第 1 章:設定 dbt

  1. 設定:

    • 檢查安裝:dbt --versionswhich dbt
    • 初始化 dbt:dbt init
  2. 載入資料:

    • 載入 dbt seed 檔(例如 distribution center):dbt seed
    • 載入 dbt source 檔。例如 {{ source('looker_ecommerce', 'orders') }}
  3. 複習 dbt 子指令:dbt rundbt testdbt build

  4. 檢視 dbt 專案檔與資料夾結構

案例研習:使用 dbt 建立電商資料模型

第 2 章:建立 dbt 模型

  1. 建立 dbt staging、mart 與 snapshot 模型
  2. 新增資料表/欄位說明與 dbt 資料測試

一張有向無環圖,顯示所有 dbt sources 與 models 及其相互關係;Sources 以綠色表示,Models 與 marts 以藍色表示。

案例研習:使用 dbt 建立電商資料模型

第 3 章:在 dbt 中使用 Jinja

  1. 用 Jinja 表達式減少重複程式碼:setloopmacros
  2. 開發時使用 dbt compile 與空白字元管理
{%- set order_statuses = ['Shipped', 'Complete', 'Processing'] -%}

SELECT 
    user_id,
    {%- for order_status in order_statuses %}
        COUNT(DISTINCT CASE WHEN status = '{{ order_status }}' THEN order_id END) 
        AS num_orders_{{ order_status }}
    {%- endfor %}
FROM {{ ref('stg_looker__orders') }}
GROUP BY 1
案例研習:使用 dbt 建立電商資料模型

恭喜你!

案例研習:使用 dbt 建立電商資料模型

Preparing Video For Download...