独自のデータリネージを持ち込む
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、 Databricks外部で実行される外部アセットやワークフローを含めるためにデータリネージを更新する方法について説明します。
Unity Catalog は、 Databricksで実行されるクエリ間でランタイム データリネージを自動的にキャプチャします。 ただし、Databricks の外部で実行されるワークロード (ファースト マイル ETL やラスト マイル BI など) がある場合があります。Unity Catalog では、外部リネージメタデータを追加して、自動的にキャプチャする Databricks データリネージを補強し、 Unity Catalogでエンドツーエンドのリネージビューを提供できます。 これは、データが Unity Catalog に取り込まれる前の場所 (Salesforce や MySQL など) や、データが Unity Catalog の外部 (Tableau や PowerBI など) で消費されている場所をキャプチャする場合に便利です。
次のリネージグラフは、Unity Catalog マネージドテーブルとしてDatabricksに取り込まれた外部PostgreSQL テーブルを示しています。このテーブルでは、3 つの列が 1release_date
つの 列に変換され、PowerBI を使用してクエリが実行されています。
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 または REST APIを使用します。
外部メタデータオブジェクトの作成
カタログエクスプローラを使用して外部メタデータオブジェクトを作成するには:
-
Databricks ワークスペースで、
カタログ をクリックします。
-
クイック アクセス ページで、 外部データ > ボタンをクリックし、 外部メタデータ タブに移動して、 外部メタデータの作成 をクリックします。
-
メタデータの詳細を指定します。
必須:
- 名前 :ユーザーがリネージで何を見ているのかを理解するのに役立つ Databricks 人間が読める名前を入力します。 スペースは使用できません。
- システムタイプ : 一般的な外部データと BI システムのリストから選択します。目的のものが見つからない場合は、[ カスタム ] を選択します。
- エンティティタイプ : 「テーブル」や「ダッシュボード」などのオブジェクトのタイプを入力します。
随意:
- URL : リネージ グラフ ビューアーが外部アセット (Tableau ダッシュボードなど) にクリックスルーできるようにする場合は、オブジェクトの URL を入力します。
- 説明
アドバンスド:
- 列 : この外部オブジェクトから別の Unity Catalog オブジェクトへの列レベルのマッピングを行う場合は、列名を入力します。 UI を選択して一度に 1 つずつ入力するか、 テキスト入力 を選択して 1 つのテキスト ボックスにカンマ区切りのリストを入力します。
- プロパティ : リネージで追跡する他のプロパティがある場合は、それらを JSON キーと値のペアとして入力します。 UI を使用して、各キーと値のペアを入力するか、完全な JSON オブジェクトを入力できます。
-
作成 をクリックします。
ダイアログでは、外部メタデータオブジェクトを表示するか、オブジェクトのリネージ関係を作成するかを選択できます。
リネージ関係の作成
外部メタデータ オブジェクトと他の Unity Catalog オブジェクトとの間の関係を追加するには、次のようにします。
-
上記のプロンプトに従うか、カタログエクスプローラーで既存の外部メタデータオブジェクトを見つけます。
カタログ をクリックします
- 外部データ> ボタンをクリックします
- 外部メタデータ タブに移動し、外部メタデータオブジェクトを選択します。
-
リネージ関係の作成 をクリックします。
-
上流のリレーションシップとダウンストリームのどちらのリレーションシップを作成するかを選択します。
-
関係を作成する オブジェクトタイプ を入力します。
- テーブル : 検索ダイアログを使用してテーブルを選択します。
- モデル : 検索ダイアログを使用してモデルを選択し、モデルのバージョンを選択します。
- * Path * :ボリュームまたは外部ロケーションの場合は、パスを入力します。
- 外部メタデータ : ドロップダウンメニューから外部メタデータオブジェクトを選択します。
-
(オプション) 詳細設定 をクリックして、以下を追加します。
- 外部メタデータオブジェクトとソースオブジェクトまたはターゲットオブジェクトとの間の列マッピング。
- JSON キーと値のペアとしてのその他のメタデータ。たとえば、これらを使用して、外部メタデータオブジェクトからテーブルを作成したクエリのテキストや、関係を生成した外部ワークフローを説明する注釈を入力できます。
-
作成 をクリックします。
これで、関連オブジェクトのリネージタブに外部リネージ関係が表示されます。
外部リネージに関するよくあるご質問
Databricks は、外部リネージメタデータを自動的に取り込むためのコネクタやクローラを提供していますか?
いいえ、外部リネージは自動的にキャプチャされません。外部リネージを追加するには、 REST API またはカタログエクスプローラを使用する必要があります。
追加した外部リネージはリネージシステムテーブルに記録されますか?
いいえ、この機能を使用して追加した外部リネージは、リネージ システムテーブルからクエリすることはできません。 プログラムで外部リネージをフェッチするには、 REST API を呼び出す必要があります。
この機能を使って、 Unity Catalog に登録した2つのテーブル間のリネージ関係を指定できますか?
Unity Catalogに登録されている 2 つのテーブル間のリネージ関係を指定するには、テーブル間にある外部メタデータオブジェクトを作成する必要があります。1 つのテーブルを外部メタデータオブジェクトのアップストリームとして指定し、もう 1 つのテーブルをダウンストリームとして指定して、リネージグラフで接続済みとして表示することができます。
この機能を使用して、複数のレベルの外部リネージ関係を指定できますか (たとえば、複数のシステムを通過するデータを Databricksに入る前に注釈を付けるなど)。
はい、セキュリティ保護可能なオブジェクトを複数作成し、それぞれに対する外部リネージ関係を作成することで、複数のレベルの外部リネージを指定できます。
この機能を使用して列レベルの外部リネージを追加できますか?
はい、列レベルの外部リネージを追加できます。 外部メタデータのセキュリティ保護可能なオブジェクトを作成するときは列名を指定し、外部リネージ関係を構成するときはソースとターゲットカラムのマッピングを指定する必要があります。