🐈

【小ネタ?】クエリにないカラムをymlファイルで定義してみたら

2022/11/04に公開

dbtを使う際、クエリを記述するsqlファイル以外にそのクエリを定義するymlファイルがあります。今回はsqlファイルにないカラムをymlファイルで定義した場合どうなるのか試してみたいと思います。

実行環境

Core: 1.3.0

基準

sql

-- models/test/test.sql
select
    first_name
    ,last_name

from
    {{ ref('raw_customers') }}  

yml

-- models/test/test.yml
version: 2

models:
  - name: test
    columns:
      - name: first_name
      - name: last_name

ドキュメント

基準となるsqlファイル、ymlファイル、ドキュメントにはfirst_nameカラムとlast_nameカラムがあります。

dummyカラムを追加

ここで、ymlファイルにのみdummyカラムを追加した場合どうなるでしょうか。

yml

version: 2

models:
  - name: test
    columns:
      - name: first_name
      - name: last_name
      - name: dummy

ドキュメント

エラーなどは生じずにdummyカラムが追加されていることが分かりました。しかしデータ型は空白になっています。(実データが存在しないため..)

さいごに

普段使用する際は気にすることはないと思いますが、こういうこともあるんだなと思いました。

Discussion