dbt Cloudの開発環境と本番環境で使用するSnowflakeのウェアハウスを変えてみる #dbt #SnowflakeDB

2022.06.05

さがらです。

dbt Cloudにおいて、開発環境と本番環境で使用するSnowflakeのウェアハウスを変える方法について、本記事でまとめてみます。

dbtの各環境でウェアハウスを変える必要性

まず、dbtにおいてなぜ開発環境と本番環境でSnowflakeのウェアハウスを変える必要性があるか考えてみます。

大前提として、必ずウェアハウスを変える必要性はありません

具体的にSnowflakeのウェアハウスを変えたい場面としては、下記のように開発環境で開発を行うときは対象のデータを絞り込むなどの設定を行っているときです。

select
  *
from source('web_events', 'page_views')
{% if target.name == 'dev' %}
where created_at >= dateadd('day', -3, current_date)
{% endif %}

例えば、

  • 開発環境:直近1年分のデータで開発
  • 本番環境:過去10年分のデータで開発

というときに、本番環境と同じウェアハウスを使う必要性は少ないと思います。10年分はMのウェアハウスで処理しないといけないけど、1年分はXSのウェアハウスでも十分処理できる、というケースは起こりうると思います。

dbt Cloudの開発環境と本番環境で使用するウェアハウスを変える方法

では、早速dbt Cloudの開発環境と本番環境で使用するウェアハウスを変えてみます!

開発環境のウェアハウスの変更

開発環境のウェアハウスを変更するには、dbt project1つごとにユーザー別のCredentialが設定できるため、そこから設定します。

まず、右上のProfileを押します。

次に、Credentialsから変更したいdbt projectを選択します。

次に、右上のEditを押し、WAREHOUSE欄に使用したいウェアハウスの名称を入力し、左上のSaveを押します。

これで、開発環境のウェアハウスの設定は完了です!

本番環境のウェアハウスの変更

本番環境のウェアハウスについては、対象のdbt projectのEnvironmentに設定されたCredentialsから変更が可能です。

対象のdbt projectから、Environmentsを押します。

次に、本番環境に当たるEnvironmentsを開きます。(ここでは、Deploymentが本番環境に該当します。)

右上のSettingsから、Editを押します。

Snowflake Connectionから、WAREHOUSE欄に使用したいウェアハウスの名称を入力し、右上のSaveを押します。

これで、本番環境のウェアハウスの設定は完了です!

最後に

dbt Cloudで、開発環境と本番環境で使用するウェアハウスを変える方法をまとめてみました!設定レベルで簡単に変更できるのがいいですね。