メインコンテンツまでスキップ

外部リネージ

Unity Catalog は Databricks で実行されるクエリ間でランタイム データリネージを自動的にキャプチャします。しかし、Databricks の外部で実行されるワークロードがある場合があります(たとえば、ファーストマイル ETL またはラストマイル BI)。Unity Catalogでは、自動的にキャプチャされるDatabricksのデータリネージを補完するために外部リネージメタデータを追加でき、Unity Catalogでエンドツーエンドのリネージビューを提供します。これは、データがUnity Catalog に取り込まれる前にどこから来たのか(例: Salesforce や MySQL)を把握したい場合や、Unity Catalog の外部でデータが消費される場合(例: Tableau や Power BI)に役立ちます。

2つの方法で外部リネージを追加できます:

次のリネージグラフは、MySQLとPostgreSQLにある2つの外部テーブルが、Unity CatalogのマネージドテーブルとしてDatabricksに取り込まれ、列がrelease_dateの列に変換され、その後、外部レポートで消費されたものを示しています。

右上隅に「外部リネージを作成」ボタンがあり、Unity Catalogテーブルに接続された外部アップストリームテーブルとダウンストリームレポートを示すリネージグラフ

Databricksでのデータリネージに関する一般情報については、「Unity Catalog のデータリネージ」を参照してください。

必要条件

Unity Catalogに外部リネージメタデータを追加するには、特定のタスクに応じて、次の権限が必要です。

  • Unity Catalog で外部メタデータセキュリティ保護可能なオブジェクトを作成するには、メタストアに対するCREATE EXTERNAL METADATA権限が必要です。
  • 外部メタデータオブジェクトと他の Unity Catalog オブジェクトとの間のリネージ関係を指定するには、外部メタデータオブジェクトに対する MODIFY 権限が必要です。
  • Unity Catalogオブジェクトへのダウンストリームリネージ関係を指定するには、オブジェクトに対する読み取り権限 (テーブルに対するSELECTなど) が必要です。
  • Unity Catalogオブジェクトへのアップストリームリネージ関係を指定するには、オブジェクトに対する書き込み権限 (テーブルに対するMODIFYなど) が必要です。

外部リネージメタデータを追加します

外部リネージメタデータを追加するには:

  1. Unity Catalog に外部メタデータのセキュリティ保護可能なオブジェクトを作成します。

    このオブジェクトは、Tableau のダッシュボードなど、外部システム内のエンティティを表します。

  2. 外部メタデータオブジェクトと別の Unity Catalog オブジェクト(テーブル、モデル、パス、その他の外部メタデータオブジェクトなど)との間にリネージ関係を設定します。

    リネージ関係を作成すると、外部メタデータオブジェクトがリネージグラフビューに表示されます。

Catalog Explorer UI を使用して、外部メタデータオブジェクトを作成し、リネージリレーションシップを設定できます。既存のリネージグラフから始めるには、グラフの右上隅にある 外部リネージを作成 をクリックします。次のセクションで説明されているように、カタログエクスプローラ の External データ セクションから開始することもできます。

外部メタデータオブジェクトの作成

外部メタデータ オブジェクトは、Catalog Explorer または 外部メタデータ API を使用して作成できます。

カタログエクスプローラを使用して外部メタデータオブジェクトを作成するには:

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。

  2. [外部データ >] ボタンをクリックし、 [外部メタデータ] タブに移動して、 [外部メタデータの作成] を クリックします。

  3. メタデータの詳細を指定します。

    必須:

    • 名前 ]:Databricks ユーザーがリネージで何を見ているかを理解するのに役立つ、人間にとってわかりやすい名称を入力してください。スペースは使用できません。
    • システムタイプ : 一般的な外部データと BI システムのリストから選択します。目的のものが見つからない場合は、[ カスタム ] を選択します。
    • エンティティタイプ : 「テーブル」や「ダッシュボード」などのオブジェクトのタイプを入力します。

    随意:

    • URL : リネージ グラフ ビューアーが外部アセット (Tableau ダッシュボードなど) にクリックスルーできるようにする場合は、オブジェクトの URL を入力します。
    • 説明

    アドバンスド:

    • : この外部オブジェクトから別の Unity Catalog オブジェクトへの列レベルのマッピングを行う場合は、列名を入力します。 UI を選択して一度に 1 つずつ入力するか、 テキスト入力 を選択して 1 つのテキスト ボックスにカンマ区切りのリストを入力します。
    • プロパティ : リネージで追跡する他のプロパティがある場合は、それらを JSON キーと値のペアとして入力します。 UI を使用して、各キーと値のペアを入力するか、完全な JSON オブジェクトを入力できます。
  4. 作成 をクリックします。

    ダイアログでは、外部メタデータオブジェクトを表示するか、オブジェクトのリネージ関係を作成するかを選択できます。

リネージ関係の作成

リネージ関係は、Catalog Explorer、外部リネージAPI 、またはDatabricksSDK Pythonを使用して作成できます。

外部メタデータ オブジェクトと他の Unity Catalog オブジェクトとの間の関係を追加するには、次のようにします。

  1. 上記のプロンプトに従うか、カタログエクスプローラーで既存の外部メタデータオブジェクトを見つけます。

    1. データアイコン。 カタログ をクリックします
    2. 外部データ> ボタンをクリックします
    3. 外部メタデータ タブに移動し、外部メタデータオブジェクトを選択します。
  2. リネージ関係の作成 をクリックします。

  3. 上流のリレーションシップとダウンストリームのどちらのリレーションシップを作成するかを選択します。

  4. 関係を作成する オブジェクトタイプ を入力します。

    • テーブル : 検索ダイアログを使用してテーブルを選択します。
    • モデル : 検索ダイアログを使用してモデルを選択し、モデルのバージョンを選択します。
    • * Path * :ボリュームまたは外部ロケーションの場合は、パスを入力します。
    • 外部メタデータ : ドロップダウンメニューから外部メタデータオブジェクトを選択します。
  5. (オプション) 詳細設定 をクリックして、以下を追加します。

    • 外部メタデータオブジェクトとソースオブジェクトまたはターゲットオブジェクトとの間の列マッピング。
    • JSON キーと値のペアとしてのその他のメタデータ。たとえば、これらを使用して、外部メタデータオブジェクトからテーブルを作成したクエリのテキストや、関係を生成した外部ワークフローを説明する注釈を入力できます。
  6. 作成 をクリックします。

関連オブジェクトの「リネージ」タブで外部リネージ関係を確認できるようになりました。

外部リネージ関係のモデル化

外部のリネージを手動で追加する場合は、より複雑な関係をモデル化するために、次のパターンを使用してください。

  • **2つのUnity Catalogテーブルを接続する**:両方ともUnity Catalogに登録されている2つのテーブル間のリネージ関係を指定するには、それらの間に外部メタデータオブジェクトを作成します。リネージグラフで接続された状態で表示されるように、外部メタデータオブジェクトのアップストリームとしてテーブルを1つ、もう1つをダウンストリームとして指定してください。
  • 複数のリネージレベルを追加する :Databricksに入る前に複数のシステムを通過するデータに注釈を付けるには、複数の外部メタデータオブジェクトを作成し、それらのそれぞれの間で外部リネージ関係を設定します。
  • 列レベルのリネージを追加 :外部メタデータオブジェクトを作成する際に、列名を指定します。その後、リネージ関係を設定する際に、ソースカラムとターゲットカラムをマッピングします。

制限事項:

  • 外部リネージは、リネージシステムテーブル(system.access.table_lineagesystem.access.column_lineage)には記録されません。
  • 1つのメタストアあたり、最大10,000個の外部メタデータオブジェクトおよび100,000個の外部リネージ関係を作成できます。「リソース制限」を参照してください。

その他のリソース