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...