[新機能]Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになりました
さがらです。
Snowflakeの新機能として、Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになりました。(2024年11月5日時点ではプレビュー機能となります。)
簡素な内容になりますが、試してみたので本記事でその内容をまとめてみます。
サポートしているオブジェクト
公式ドキュメントによると、2024年11月5日時点では以下のオブジェクトをサポートしているとのことです。
通常のテーブルやビューだけでなく、StageやML関係のFeature ViewやModelもサポートしているのは嬉しいですね!
- Table
- Dynamic table
- External table
- View
- Materialized view
- Stage
- Feature view
- Dataset
- Model
必要な権限
Snowsight上でリネージを見るには、VIEW LINEAGE
というアカウントレベルの権限が必要となります。
下記は公式ドキュメントからの引用ですが、このようなクエリで権限を付与してあげる必要があります。
USE ROLE ACCOUNTADMIN;
CREATE ROLE lineage_role;
GRANT VIEW LINEAGE ON ACCOUNT TO ROLE lineage_role;
GRANT SELECT ON mydb.sch.mytable TO ROLE lineage_role;
検証する環境
下図のように、dbtを用いてテーブルとビューを構成している場合、どのようにSnowsight上でリネージを見ることが出来るかを確認してみます。(リネージの確認前にdbtからビルドを行いました。)
リネージを確認してみた
Snowflakeにログインして、リネージを確認してみます。
対象のテーブル・ビューを開き、Lineage
タブを押すと下図のように表示されます。
左側の+を押すと、もう一つ前の参照しているテーブル・ビューを確認することが出来ます。
最後まで展開すると、このような形で見ることが出来ます。
また、対象のテーブル・ビューを押すと下図のようにカラム名など詳細情報が表示されます。
各カラムを選択すると、なんとカラムレベルの依存関係まで確認することが可能です。DISTANCE
列では、このテーブル・ビューを基準にどれだけ上流・下流のオブジェクトを参照しているかがわかるようになっています。(「1」だと直接参照関係があることを意味している。)
最後に
とても簡素な内容でしたが、Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになったので、試してみてその内容をまとめてみました。
Snowflakeだけでこのレベルのリネージが見れてしまうのは純粋にすごいなと感じました!これは使う場面が増えそうです。