目次
みなさんこんにちは、INSIGHT LAB株式会社のSHOWです。
本記事はdbt Power Userを使って快適なdbt開発ライフを送る紹介記事です。
dbt Power Userはdbt-coreで開発を行う際に痒い所に手が届く素敵な機能が盛り沢山です。
一度使えばもうdbt Power Userの無い世界は考えられなくなるのは間違いなしです!!
それではその素晴らしい機能をご紹介いたします。
dbt Power Userとは?
dbt Power UserはVScodeの拡張機能です。
VSCodeにインストールしてから少し設定の手間がいりますのでご注意ください。
dbt Power Userが有効なVSCodeがdbtとシームレスに連携し、開発の手助けをしてくれます。
例えば、以下のような機能が用意されています。
- ソース定義からモデルの生成
- クエリ結果セットの視覚化
- dbt モデルのリネージ
- すべてまたは個々のモデルのテストを実行
- モデル、マクロ、ソース、ドキュメントの定義へ移動
- 専用パネルでモデルとその列のドキュメントの編集
- モデル、マクロ、ソース、ドキュメントのオートコンプリート
上記以外にも機能はあり、日々機能の追加も行われています。
気になる方は公式サイトをご確認ください。
環境のお話
今回は以下の環境を前提としております。
- dbt Power Userのバージョンはv0.27.0
- dbtの接続先DWHはSnowflake(フリーアカウント)
- jaffle shopのdbtプロジェクトを使用
dbt Power Userの機能紹介
今回はdbt Power Userの機能からいくつかピックアップして、ご紹介いたします。
ソース定義からモデルの生成
jaffle_shopのstaging層のソース定義(デフォルト状態から修正しています)を見ると5行目と6行目の間に「Generate model」の文字が表示されています。
ここをクリックすると・・・
下図のとおり、モデルが自動生成されます。
クエリ結果セットの視覚化
クエリ結果セットの可視化とは、モデルの中のクエリを実行してその結果を表示する機能です。
下図はstg_customersモデル全体を実行した結果です。
他の使い方としては、7行目のSELECT句のみ指定して実行することも可能です。
良くある使い方として、モデル内でWith句を使って集計や計算などをする際に、1つ1つのWith句の中身をその場で確認して、欲しい結果が取れているか、という使い方をしています。
dbt モデルのリネージ
dbtモデルのリネージを可視化する機能もあります。
dbt docs generateで表現されるリネージと同等のものをVSCode上でも確認することができます。
すべてまたは個々のモデルのテストを実行
下図の画面左側に「MODEL TESTS」という項目があり、これはdbtモデルのYAMLファイルに記載しているテストが表示される仕組みです。
ここに表示されているテストを1クリックで実行することができます。
もちろんすべてのテストを一括実行することもできます。
実際にuniqueテストを実行した結果が下図のとおりです。
まとめ
紹介しきれていない機能もまだありますが、dbt Power Userのすばらしさが伝わっていれば幸いです。
気になる機能がありましたら、是非試していただければと思います。
あと気になる点としては、dbt-cloudのIDEとの違いですね。
私自身dbt-cloudのIDEを触ったことが無いので、そのあたりの比較もしてみたいですね。