Castorにdbt Cloudを連携しメタデータを取得してみた

2023.03.14

さがらです。

フランス発のデータカタログCastorにdbt Cloudを連携しメタデータを取得してみたので、その内容をまとめてみます。

基本的には、下記のドキュメントの内容に沿って行っていきます。

Castorについて

Castorはフランス発のデータカタログで、Slackで議論を交わした内容を連携したり、同名カラムのビジネスメタデータをまとめて割り当てることができるなどの特徴を持ったデータカタログです。

下記の記事も参考にしてみてください。

dbt Cloudでの事前準備

dbt CloudをCastorに連携するに当たり、dbt Cloud上でも事前準備が必要です。

Service Tokensの発行

Castorからdbt Cloudに連携するために、Service Tokenが必要となります。

dbt CloudのAccount SettingsからService Tokensから、+ New Tokenを押します。

Castorへの連携にあたっては、ドキュメントによるとStakeholderの権限があれば良いため、Stakeholderだけをメタデータを抽出したいdbt project向けに付与し、Saveを押します。

すると、Tokenが表示されるのでコピーします。Token作成時のみしか見ることが出来ないので注意しましょう。

メタデータを抽出したいJob IDを確認

続いて、dbt Cloud上でメタデータを抽出したいdbt projectのproduction環境で動いているJob IDを確認します。この情報が、Castorでの連携時に必要になってきます。

Job IDの確認方法ですが、対象のジョブをdbt Cloudで開いた時のURLのJobs/の後の数値が該当するので、メモしておきましょう。

Castorでの連携設定

続いて、Castorでdbt Cloudの連携設定をしていきます。

CastorのSettingsからIntegrationsタブを開き、dbtを選択します。

Castor Managedを選択し、Nextを押します。

Source Nameに任意の名前を入力し、Nextを押します。

事前に確認したdbt CloudのTokenをAPI Tokenに、Job IDをJob Idに入力し、Saveを押します。

すると、「Congrats」のような画面が出てきます。※数秒で消えてしまったため、スクショを撮れていないのですが…

初回の同期には、ドキュメントにもある通り最大で48時間かかります。

無事に同期が終わると、下図のようにCastor上の画面で更新時刻が表示されます。

Castorとdbt Cloudを連携して何ができるか

では、Castorにdbt Cloudを連携して何が出来るかを見ていきます。

基本的には、dbtによって定義された各テーブルの詳細画面で確認することが出来ます。対象のテーブルがdbtによって定義されていたらテーブルアイコンの横にdbtのアイコンが付いて、Descriptionもdbt上で定義されたものを確認することが出来ます。

また、今後は対象のテーブルにおいてどんなdbtのtestが行われているかもData Qualityタブで確認できそうです。ここは今後に期待ですね!

さらに、2023年2月に発表された新機能として、Castor上で定義したDescriptionをdbtに書き戻せる「Sync Back」という機能がリリースされていました!dbtに書き戻せるデータカタログは他にない認識なので、Castor独自の機能と言えると思います。(検証が上手く行けば、近日中にブログを執筆予定ですw)

最後に

Castorにdbt Cloudを連携する手順と、連携後Castorで何が出来るのかをまとめてみました。

Sync Back機能など、Castorはビジネスメタデータの管理において独自の機能を多く提供しているので、今後も楽しみな製品です!