[新機能]dbt CloudのAuto-exposures機能でdbtのModelと紐づくTableauダッシュボードを自動的にexposureとして登録しリネージが可視化できるようになりました

[新機能]dbt CloudのAuto-exposures機能でdbtのModelと紐づくTableauダッシュボードを自動的にexposureとして登録しリネージが可視化できるようになりました

Clock Icon2024.10.10

さがらです。

dbt Cloudの新機能として、Auto-exposures機能でdbtのModelと紐づくTableauダッシュボードを自動的にexposureとして登録しリネージが可視化できるようになりました。(2024年10月7日時点ではプレビュー機能で、Versionless及びdbt Cloud Enterpriseエディションで利用可能です。)

https://docs.getdbt.com/docs/dbt-versions/dbt-cloud-release-notes#october-2024

ドキュメントは下記となります。本記事では、この機能を実際に試してみたのでその内容をまとめてみます。

https://docs.getdbt.com/docs/collaborate/auto-exposures

https://docs.getdbt.com/docs/cloud-integrations/configure-auto-exposures

事前準備

dbtで定義したModelから作られたSnowflakeのテーブルに対して、Tableau Cloud上でライブ接続でダッシュボードを作っておきます。

このダッシュボードがdbtのExposureとして自動登録されるかを確認していきます。

2024-10-07_15h32_09

2024-10-07_16h17_30

注意事項

2024年10月8日に試した際は、抽出対象のTableauのCollection名(プロジェクト名とほぼ同義)が日本語だと、Tableauダッシュボードのexposureがうまく生成されない、という事象に私は遭遇しました。今後のアップデートで改善される可能性はありますが、お試しの際はご注意ください…

Tableau CloudでのPersonal Access Tokensの取得

まず、対象のTableau Cloud内でPersonal Access Tokens(個人用アクセストークン)を有効化しておきます。

2024-10-07_15h46_37

ログインしているユーザーのマイアカウントの設定から、トークンを生成します。

2024-10-07_15h48_54

表示されたトークン名とシークレットを忘れずにコピーしましょう。

2024-10-07_15h49_27

また、使用しているTableau Cloudの「サーバーURL(下図の赤枠左)」と「サイト名(下図の赤枠右)」確認しておきます。

2024-10-07_15h52_52

dbt Cloudでの設定

次にdbt Cloudでの設定に移ります。

まず、対象のdbt projectのDashboardからSettingsを押します。

2024-10-07_15h56_31

Exposuresの設定欄があるため、+ Add integrationを押します。

2024-10-07_15h57_08

前工程で取得した各情報を入力し、Continueを押します。

2024-10-07_15h58_07

Tableau Cloudのプロジェクトの一覧が表示されるので、メタデータを取得してExposuresを生成したいプロジェクトを選択し、右下のSaveを押します。

2024-10-10_09h10_33

画面の一番上に下図のように表示されたら設定は完了です。この後一度、対象のdbt projectのPRODのEnvironmentでジョブを実行しましょう。

2024-10-07_16h02_09

dbt Explorerから確認してみる

dbt Explorer上で見ると、ExposuresにTableauのダッシュボードが追加されていることがわかります。

2024-10-10_10h16_10

クリックして内容を確認すると、下図のようにどのModelを参照して作られているかのリネージや、各種メタデータの内容を閲覧できます。

ポイントとしては、各ModelとのリネージはTableauのデータソースタブでJOIN・リレーションシップが定義されたすべてのModelと紐づくのではなく、ダッシュボード上の各ワークシートで使われているModelとのリネージが生成される仕様となっています。

2024-10-10_10h17_49

2024-10-10_10h18_13

また、全体のリネージとしてみるとこのように表示されます。最近のアップデートでdbt Explorerで各Modelのクエリ回数が確認できるようになったので、この機能と併せて使うとTableauダッシュボードの利用状況の確認にも使えそうです!

2024-10-10_10h31_59

Exposureの更新方法について

現在は1日1回の頻度で自動更新が行われるようです。(下図はドキュメントより)

2024-10-07_16h03_59

今後は、dbt Cloudのジョブ経由でも更新できるようになるみたいですが、2024年10月7日時点では未定です。(下図はドキュメントより)

2024-10-07_16h06_24

最後に

dbt Cloudの新機能として、Auto-exposures機能でdbtのModelと紐づくTableauダッシュボードを自動的にexposureとして登録しリネージが可視化できるようになったので、試してその内容をまとめてみました。

dbt Explorerがサードパーティのデータカタログにも負けない機能を備えてきているので、嬉しいですね!

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.