■ はじめに
https://dk521123.hatenablog.com/entry/2023/11/25/231128
の続き。 今回は、DBTのModel について、徐々にTipsを書き溜めておく
目次
【1】config 1)alias 2)schema 3)database サンプル 【2】変数 1)変数設定 2)変数の参照 3)サンプル
【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
【2】変数
1)変数設定
[1] dbt run --vars "{ 変数: 値 }" で設定
# dbt run -h より --vars YAML Supply variables to the project. This argument overrides variables defined in your dbt_project.yml file. This argument should be a YAML string, eg. '{my_variable: my_value}'
2)変数の参照
-- var で参照(変数を使う) '{{ var("remark", "hello_world") }}' as remark,
3)サンプル
/models/hello.sql
{{ config( alias='hello', schema='demo_schema', database='sample_db', materialized='table' ) }} select 1 as id, 'Mike' as name, '{{ var("remark", "hello_world") }}' as remark, now() as insert_at
実行
>dbt run --vars "{remark: Hello!!!}"
参考文献
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