なぜ重要か
従来は Snowflake 外部のシステムを含むデータ移動を、Snowflake の lineage graph や SQL から一続きに確認できない場合がありました。External lineage により、外部ノードを含む連鎖を Snowsight で可視化し、GET_LINEAGE で外部オブジェクトを起点に lineage を取得できるようになります。
対象となるチーム
- データ基盤・データエンジニアリングチーム
- dbt や Apache Airflow の運用担当者
- データガバナンス・リネージュ管理担当者
- 監査・影響分析を担当するチーム
提供条件
- General availability
- Enterprise Edition 以上が必要
- リージョンの提供条件はリリースノートに記載なし
- OpenLineage イベントを送信するデータツールまたは自前の送信処理が必要
- 送信にはアカウントの INGEST LINEAGE 権限、削除には DELETE LINEAGE 権限が必要
ユースケース
- Apache Airflow などのパイプラインが外部システムから Snowflake へデータを取り込む流れを、外部ノードを含む lineage chain として確認する。
- dbt が生成・変換するデータの lineage を OpenLineage 経由で Snowflake の native lineage に統合する。
- 複数の外部システム間でデータを移動するパイプラインを記録し、Snowflake オブジェクトが中間にない区間も追跡する。
- columnLineage facet を利用して、外部システム間の個別列の対応関係を確認する。
- 外部オブジェクトを起点に GET_LINEAGE を実行し、影響分析やデータフロー調査に利用する。
仕組みと使い方
データツールの OpenLineage integration、または自前の処理から、COMPLETE OpenLineage events を次の REST endpoint に送信して lineage を登録します。
/api/v2/lineage/external-lineage
オブジェクト間の lineage に加え、columnLineage facet を含めることで列単位の lineage を登録できます。登録した外部オブジェクトは Snowsight の lineage graph で external nodes として表示され、SQL では GET_LINEAGE の出力に含まれます。外部オブジェクトをクエリの起点にして lineage を取得することもできます。削除する場合は同じ endpoint に DELETE request を送信します。
導入ステップ
- Enterprise Edition 以上で利用できるアカウントかどうかを確認する。
- OpenLineage を送信する dbt、Apache Airflow、または自前のデータツールを選定する。
- 送信主体にアカウントの INGEST LINEAGE 権限があることを確認する。
- COMPLETE OpenLineage events を
/api/v2/lineage/external-lineageに送信する処理を構成する。 - Snowsight の lineage graph と
GET_LINEAGEの結果で、外部ノードおよび必要な列 lineage を検証する。 - 不要な lineage を削除する運用が必要な場合は、DELETE LINEAGE 権限と DELETE request の手順を確認する。
運用上の注意
- lineage の送信には INGEST LINEAGE、削除には DELETE LINEAGE が必要です。権限は送信・削除の運用主体ごとに分けて確認してください。
- 登録内容の正確性は送信する OpenLineage events に依存するため、対象オブジェクト、外部システム間の関係、列対応を検証してください。
- 削除は同じ endpoint への DELETE request を使用するため、対象範囲と実行権限を事前に確認してください。
- リージョンごとの提供条件や差異はリリースノートに記載なしです。実環境で利用可能か公式ドキュメントを確認してください。
制約事項
- 利用には Enterprise Edition 以上が必要です。
- 外部 lineage の登録には OpenLineage standard に準拠した COMPLETE events の送信が必要です。
- 列単位の lineage は
columnLineagefacet を使用する必要があります。 - 外部オブジェクトの具体的な対応範囲、保持期間、更新遅延、イベント再送時の挙動はリリースノートに記載なしです。
- 対応するリージョン、データツールごとの integration の詳細、REST request の payload 仕様はリリースノートに記載なしです。
次に確認すること
- 公式の External lineage、Configure your data tool、Payload requirements を確認し、COMPLETE event の必須項目を検証する。
- 対象アカウントのエディションと、送信・削除主体の INGEST LINEAGE/DELETE LINEAGE 権限を確認する。
- 非本番環境で少数のオブジェクトと columnLineage を送信し、Snowsight と GET_LINEAGE の表示結果を検証する。
- 利用予定リージョンと dbt・Apache Airflow などの integration が対象環境で利用可能か公式情報で確認する。
公式情報
仕様・提供条件は更新される可能性があります。導入前に必ず公式リリースノートを確認してください。
https://docs.snowflake.com/release-notes/2026/other/2026-09-03-external-lineage-ga