振り返り:dbt ケーススタディ

ケーススタディ: dbt で構築する Eコマースのデータモデル

Susan Sun

Freelance Data Scientist

第1章:dbt のセットアップ

  1. セットアップ:

    • インストール確認: dbt --versions, which dbt
    • dbt 初期化: dbt init
  2. データ読み込み:

    • dbt seed ファイルの読み込み(例: distribution center): dbt seed
    • dbt source の読み込み。例: {{ source('looker_ecommerce', 'orders') }}
  3. dbt サブコマンドの確認: dbt run, dbt test, dbt build

  4. dbt プロジェクトのファイル/フォルダ構成の確認

ケーススタディ: dbt で構築する Eコマースのデータモデル

第2章:dbt モデルの構築

  1. ステージング、マート、スナップショットの各 dbt モデルを作成
  2. テーブル/カラムのドキュメントと dbt データテストを追加

全 dbt のソースとモデル、その相互関係を示す有向非巡回グラフ。ソースは緑、モデルとマートは青で表示。

ケーススタディ: dbt で構築する Eコマースのデータモデル

第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 で構築する Eコマースのデータモデル

おめでとうございます!

ケーススタディ: dbt で構築する Eコマースのデータモデル

Preparing Video For Download...