【Snowflake】Snowflake ~ GET_LINEAGE ~

◾️はじめに

https://dk521123.hatenablog.com/entry/2023/12/10/125512

で、DBTのデータリネージ(Data Lineage)に関して触れたが
Snowflakeでもデータリネージ(Data Lineage)機能があるらしいので
メモしておく

目次

【1】データリネージ(Data Lineage)
【2】GET_LINEAGE
 1)構文
 2)サンプル
【3】補足:Web UI での確認

【1】データリネージ(Data Lineage

https://dk521123.hatenablog.com/entry/2023/12/10/125512

より抜粋
~~~~~~~~~
* データ源泉(source)から現在地点までのデータ変遷のことで
 データ(テーブル)がどう結びついているを把握することができる

cf. Lineage(リネージ) = 血統, 系統
~~~~~~~~~

【2】GET_LINEAGE

* 指定したテーブルがどのテーブルからきたのかを取得できる関数

https://docs.snowflake.com/ja/sql-reference/functions/get_lineage-snowflake-core

1)構文

SNOWFLAKE.CORE.GET_LINEAGE(
    '<object_name>',
    '<object_domain>',
    '<direction>',
    [ <distance>, ]
    [ '<object_version>' ]
)
項目 説明
object_name テーブルであれば、[DB].[SCHEMA].[TABLE]で指定
object_domain COLUMN / TABLE / STAGEで指定
direction UPSTREAM / DOWNSTREAM で指定
distance どの位遡るか(MAX・Default:5) で指定
object_version バージョン指定

2)サンプル

SELECT
    *
FROM TABLE (SNOWFLAKE.CORE.GET_LINEAGE(
 'demo_db.demo_schema.demo_table',
 'TABLE',
 'DOWNSTREAM',
 2
));

【3】補足:Web UI での確認

[1] 対象のテーブル・ビューを開く
[2] 右上の矢印アイコンで詳細を開く
[3] Lineageタブを押す
 => すると、グラフで視覚的にリネージされたテーブルが表示される
 => こっちの方が分かりやすい

https://docs.snowflake.com/ja/user-guide/ui-snowsight-lineage

参考文献

https://blog.truestar.co.jp/snowflake/20241205/61221/
https://zenn.dev/nttdata_tech/articles/20bd9742815995

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
dbt CLI ~ ドキュメント化 / dbt docs ~
https://dk521123.hatenablog.com/entry/2023/12/10/125512