← コースに戻る
未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。
dbt_project.ymlでのconfig継承
dbtでは、モデルごとに個別のconfigブロックを書かなくても、dbt_project.ymlの中でディレクトリ単位の設定を一括で指定できる。ディレクトリ構造に沿って設定を「継承」させる仕組みで、より深い階層の設定がより浅い階層の設定を上書きする。
# dbt_project.yml
models:
jaffle_shop:
staging:
+materialized: view
marts:
+materialized: table
finance:
+materialized: incremental
この例では、staging/配下のモデルはデフォルトでview、marts/配下は基本table、その中でもmarts/finance/配下だけはincrementalになる。設定名の先頭に+を付けるのがdbt_project.yml内でのconfig指定の書き方。
モデルファイル個別の{{ config(...) }}はさらに優先され、dbt_project.ymlの設定を上書きできる。ディレクトリ単位で一括設定し、例外だけをモデル個別に上書きするのが、大規模プロジェクトでの基本的な運用パターン。