GET_LINEAGE
テーブル、ビュー、stage、またはカラムの上流または下流のリネージを返します。返される各行は、リネージパス内の 1 つのソースからターゲットへの関係を表します。
構文
GET_LINEAGE(
'<object_name>',
'<object_domain>',
'<direction>'
[, <distance> ]
)
引数
引数は位置指定です。
出力カラム
例
このセクションでは、リネージを追跡するためのクエリ例を示します。
上流テーブルを探す
このクエリは、agg_customer_sales に対して最大 2 ホップ上流までを返します。
SELECT
distance,
source_object_catalog,
source_object_database,
source_object_name,
source_object_domain,
target_object_database,
target_object_name
FROM GET_LINEAGE(
'lineage_demo.agg_customer_sales',
'TABLE',
'UPSTREAM',
2
)
ORDER BY distance;
下流カラムを探す
このクエリは、fact_orders.amount がどこで使用されているかを追跡します。
SELECT
distance,
source_object_name,
source_column_name,
target_object_name,
target_column_name
FROM GET_LINEAGE(
'lineage_demo.fact_orders.amount',
'COLUMN',
'DOWNSTREAM',
5
)
ORDER BY distance, target_object_name, target_column_name;
使用上の注意
- オブジェクトが存在していても、記録されたリネージがない場合、この関数は行を返しません。
- 結果は、現在のロールのオブジェクト可視性に従ってフィルタリングされます。
- stage の関係はオブジェクトレベルのみです。staged file のフィールドは安定したカラムとして返されません。
- システムオブジェクトおよび
information_schemaオブジェクトは、リネージソースとして記録されません。 - 外部 catalog のオブジェクトは終端のエンドポイントとして返され、それ以上はたどられません。
- リネージが有効化される前から存在していたビューのリネージをバックフィルするには、
REFRESH LINEAGEを使用します。