Snowflake と dbt の連携
この記事では、Snowflake にあるjaffle_shopというデータを、dbt で加工する方法を紹介します。
Snowflake のセットアップ
Snowflake のセットアップを行います。以下の作業を行います。
- データベース
raw
とanalytics
を作成
- スキーマ
raw.jaffle_shop
を作成
- ロール
dbt_demo_role
とユーザdbt_demo_user
を作成
- ロール
dbt_demo_role
に権限を付与
以下の SQL を Snowflake の Worksheets 上で実行します。
また、以下の SQL で jaffle_shop のデータを Snowflake のデータベースにロードします。
以下の SQL を実行するとデータがきちんと入っていることを確認できます。
dbt のセットアップ
dbt プロジェククトのセットアップをします。
まずは dbt をインストールします。
dbt プロジェクトを作成します。インタラクティブに質問されるので回答していきます。
.dbt/profiles.yml
は以下のようになっています。
dbt debug
で Snowflake と接続できるかを確認します。
dbt プロジェクトの/models/example
フォルダを削除し、dbt_project.yml
の models
を以下のように編集します。
/models/marts_customers.sql
を作成し、以下の SQL 文を記述します。
dbt を実行
dbt run
で dbt を実行します。
データベースAnalytics
のスキーマjaffle_shop
にMART_CUSTOMERS
というテーブルが作成されました。

参考

備考
Hakky では社内のデータ活用やサービスとしてデータ提供を行うためのソリューションを展開しております。
Snowflake など具体的な相談はもちろんのこと、「どんなことをお願いできるのか知りたい」や「こんなことをやりたい」など、ご検討段階でも構いませんので、ぜひお気軽にフォームよりお問い合わせくださいませ。