【dbt】dbt ~ Model あれこれ ~

■ はじめに

https://dk521123.hatenablog.com/entry/2023/11/25/231128

の続き。

今回は、DBTのModel について、徐々にTipsを書き溜めておく

目次

【1】config
 1)alias
 2)schema
 3)database
 サンプル

【1】config

https://docs.getdbt.com/reference/model-configs

{{
config(
    enabled=true | false,
    tags="<string>" | ["<string>"],
    pre_hook="<sql-statement>" | ["<sql-statement>"],
    post_hook="<sql-statement>" | ["<sql-statement>"],
    database="<string>",
    schema="<string>",
    alias="<string>",
    persist_docs={<dict>},
    meta={<dict>},
    grants={<dict>},
    contract={<dictionary>}
)
}}

1)alias

https://docs.getdbt.com/reference/resource-configs/alias

-- DB 上には hello_world というテーブル名でテーブルが作成
{{ config(alias='hello_world') }}

2)schema

https://docs.getdbt.com/reference/resource-configs/schema

-- demo_schema というスキーマ名を指定
{{ config(schema='demo_schema') }}

--- <target_schema>_<custom_schema> => public_demo_schema 

3)database

https://docs.getdbt.com/reference/resource-configs/database

-- sample_db というDB名を指定
{{ config((database='sample_db') }}

サンプル

/models/hello.sql

{{
  config(
    alias='hello_world',
    schema='demo_schema',
    database='sample_db',
    materialized='table'
  )
}}

select 1 as id, 'Mike' as name, now() as insert_at

実行

# dbt run でモデルを作成
>dbt run

参考文献

https://zenn.dev/foursue/books/31456a86de5bb4/viewer/4201af

関連記事

dbt ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/06/30/000000
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
dbt ~ 基本編 / SEED ~
https://dk521123.hatenablog.com/entry/2023/11/20/230946
dbt ~ 基本編 / Model ~
https://dk521123.hatenablog.com/entry/2023/11/25/231128
dbt ~ DB/Schema/Table の指定方法 ~
https://dk521123.hatenablog.com/entry/2024/09/29/185918