お問い合わせ
2 分で読むことができます

dbt Power Userで快適なdbt開発ライフを送る

執筆者 SHOW 更新日時 2023年12月12日

Topics: dbt
dbt Power Userで快適なdbt開発ライフを送る

目次

みなさんこんにちは、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を触ったことが無いので、そのあたりの比較もしてみたいですね。

Snowflakeを体験してみませんか?

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

詳細はこちら

SHOW

執筆者 SHOW

4 分で読むことができます。
Snowflakeの料金体系|クレジットと費用最適化のポイントをご紹介
5 分で読むことができます。
【禁断の比較?】SnowflakeとTreasure Dataを比べてみました
1 分で読むことができます。
誤ってupdateしてしまったレコードをtime travelで復元する
5 分で読むことができます。
【Snowflake】新機能「Streamlit in Snowflake」とは何者か!?
3 分で読むことができます。
AWS Lambdaを使ってSnowflakeとSFTPサーバーを連携してみた