外部リネージ
Unity Catalog は Databricks で実行されるクエリ間でランタイム データリネージを自動的にキャプチャします。しかし、Databricks の外部で実行されるワークロードがある場合があります(たとえば、ファーストマイル ETL またはラストマイル BI)。Unity Catalogでは、自動的にキャプチャされるDatabricksのデータリネージを補完するために外部リネージメタデータを追加でき、Unity Catalogでエンドツーエンドのリネージビューを提供します。これは、データがUnity Catalog に取り込まれる前にどこから来たのか(例: Salesforce や MySQL)を把握したい場合や、Unity Catalog の外部でデータが消費される場合(例: Tableau や Power BI)に役立ちます。
2つの方法で外部リネージを追加できます:
- Catalog Explorer UI、外部メタデータおよび外部リネージ APIs、または Databricks SDK for Python を手動で使用します。
- 自動的に、LakeFlow Connectマネージド インジェスト パイプラインを使用して、ソーステーブルからUnity Catalogの宛先テーブルへのソースリネージが記録されます。「管理対象の取り込みパイプラインのソースデータリネージを追跡」を参照してください。
次のリネージグラフは、MySQLとPostgreSQLにある2つの外部テーブルが、Unity CatalogのマネージドテーブルとしてDatabricksに取り込まれ、列がrelease_dateの列に変換され、その後、外部レポートで消費されたものを示しています。

Databricksでのデータリネージに関する一般情報については、「Unity Catalog のデータリネージ」を参照してください。
必要条件
Unity Catalogに外部リネージメタデータを追加するには、特定のタスクに応じて、次の権限が必要です。
- Unity Catalog で外部メタデータセキュリティ保護可能なオブジェクトを作成するには、メタストアに対する
CREATE EXTERNAL METADATA権限が必要です。 - 外部メタデータオブジェクトと他の Unity Catalog オブジェクトとの間のリネージ関係を指定するには、外部メタデータオブジェクトに対する
MODIFY権限が必要です。 - Unity Catalogオブジェクトへのダウンストリームリネージ関係を指定するには、オブジェクトに対する読み取り権限 (テーブルに対する
SELECTなど) が必要です。 - Unity Catalogオブジェクトへのアップストリームリネージ関係を指定するには、オブジェクトに対する書き込み権限 (テーブルに対する
MODIFYなど) が必要です。
外部リネージメタデータを追加します
外部リネージメタデータを追加するには:
-
Unity Catalog に外部メタデータのセキュリティ保護可能なオブジェクトを作成します。
このオブジェクトは、Tableau のダッシュボードなど、外部システム内のエンティティを表します。
-
外部メタデータオブジェクトと別の Unity Catalog オブジェクト(テーブル、モデル、パス、その他の外部メタデータオブジェクトなど)との間にリネージ関係を設定します。
リネージ関係を作成すると、外部メタデータオブジェクトがリネージグラフビューに表示されます。
Catalog Explorer UI を使用して、外部メタデータオブジェクトを作成し、リネージリレーションシップを設定できます。既存のリネージグラフから始めるには、グラフの右上隅にある 外部リネージを作成 をクリックします。次のセクションで説明されているように、カタログエクスプローラ の External データ セクションから開始することもできます。
外部メタデータオブジェクトの作成
外部メタデータ オブジェクトは、Catalog Explorer または 外部メタデータ API を使用して作成できます。
カタログエクスプローラを使用して外部メタデータオブジェクトを作成するには:
-
Databricks ワークスペースで、
カタログ をクリックします。
-
[外部データ >] ボタンをクリックし、 [外部メタデータ] タブに移動して、 [外部メタデータの作成] を クリックします。
-
メタデータの詳細を指定します。
必須:
- [ 名前 ]:Databricks ユーザーがリネージで何を見ているかを理解するのに役立つ、人間にとってわかりやすい名称を入力してください。スペースは使用できません。
- システムタイプ : 一般的な外部データと BI システムのリストから選択します。目的のものが見つからない場合は、[ カスタム ] を選択します。
- エンティティタイプ : 「テーブル」や「ダッシュボード」などのオブジェクトのタイプを入力します。
随意:
- URL : リネージ グラフ ビューアーが外部アセット (Tableau ダッシュボードなど) にクリックスルーできるようにする場合は、オブジェクトの URL を入力します。
- 説明
アドバンスド:
- 列 : この外部オブジェクトから別の Unity Catalog オブジェクトへの列レベルのマッピングを行う場合は、列名を入力します。 UI を選択して一度に 1 つずつ入力するか、 テキスト入力 を選択して 1 つのテキスト ボックスにカンマ区切りのリストを入力します。
- プロパティ : リネージで追跡する他のプロパティがある場合は、それらを JSON キーと値のペアとして入力します。 UI を使用して、各キーと値のペアを入力するか、完全な JSON オブジェクトを入力できます。
-
作成 をクリックします。
ダイアログでは、外部メタデータオブジェクトを表示するか、オブジェクトのリネージ関係を作成するかを選択できます。
リネージ関係の作成
リネージ関係は、Catalog Explorer、外部リネージAPI 、またはDatabricksSDK Pythonを使用して作成できます。
外部メタデータ オブジェクトと他の Unity Catalog オブジェクトとの間の関係を追加するには、次のようにします。
-
上記のプロンプトに従うか、カタログエクスプローラーで既存の外部メタデータオブジェクトを見つけます。
カタログ をクリックします
- 外部データ> ボタンをクリックします
- 外部メタデータ タブに移動し、外部メタデータオブジェクトを選択します。
-
リネージ関係の作成 をクリックします。
-
上流のリレーションシップとダウンストリームのどちらのリレーションシップを作成するかを選択します。
-
関係を作成する オブジェクトタイプ を入力します。
- テーブル : 検索ダイアログを使用してテーブルを選択します。
- モデル : 検索ダイアログを使用してモデルを選択し、モデルのバージョンを選択します。
- * Path * :ボリュームまたは外部ロケーションの場合は、パスを入力します。
- 外部メタデータ : ドロップダウンメニューから外部メタデータオブジェクトを選択します。
-
(オプション) 詳細設定 をクリックして、以下を追加します。
- 外部メタデータオブジェクトとソースオブジェクトまたはターゲットオブジェクトとの間の列マッピング。
- JSON キーと値のペアとしてのその他のメタデータ。たとえば、これらを使用して、外部メタデータオブジェクトからテーブルを作成したクエリのテキストや、関係を生成した外部ワークフローを説明する注釈を入力できます。
-
作成 をクリックします。
関連オブジェクトの「リネージ」タブで外部リネージ関係を確認できるようになりました。
外部リネージ関係のモデル化
外部のリネージを手動で追加する場合は、より複雑な関係をモデル化するために、次のパターンを使用してください。
- **2つのUnity Catalogテーブルを接続する**:両方ともUnity Catalogに登録されている2つのテーブル間のリネージ関係を指定するには、それらの間に外部メタデータオブジェクトを作成します。リネージグラフで接続された状態で表示されるように、外部メタデータオブジェクトのアップストリームとしてテーブルを1つ、もう1つをダウンストリームとして指定してください。
- 複数のリネージレベルを追加する :Databricksに入る前に複数のシステムを通過するデータに注釈を付けるには、複数の外部メタデータオブジェクトを作成し、それらのそれぞれの間で外部リネージ関係を設定します。
- 列レベルのリネージを追加 :外部メタデータオブジェクトを作成する際に、列名を指定します。その後、リネージ関係を設定する際に、ソースカラムとターゲットカラムをマッピングします。
制限事項:
- 外部リネージは、リネージシステムテーブル(
system.access.table_lineageとsystem.access.column_lineage)には記録されません。 - 1つのメタストアあたり、最大10,000個の外部メタデータオブジェクトおよび100,000個の外部リネージ関係を作成できます。「リソース制限」を参照してください。