dbt の Source について
この記事では、dbt の Source について紹介します。
Source とは
dbt において source とは変換の元となるローデータのことです。dbt では Marts からローデータを直接参照させずに Staging を経由することがベストプラクティスとされています。理由としては、データはサードパーティからロードされることが多く、カラムの追加・削除など仕様が変更する可能性があり、一つの場所から参照することにより仕様変更の対応を容易にするためです。
Source の宣言
任意の名前の.yml
ファイルをmodel-paths
に宣言されたディレクトリに配置します。例えば、Google Cloud で、my_project
というプロジェクト ID でgoogle_analytics
というデータセット、そのデータセットにchannel
、device
というテーブルを Source としたい場合は以下のように記述します。
Source の使い方
宣言された Source はモデルから参照することができます。以下の例では、my_bigquery
と宣言した Source からchannel
テーブルを参照しています。
Source のテスト
以下のように記述し、dbt test
を実行すると Source のテストをすることができます。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
