外部系譜

Unity Catalog は、Azure Databricks で実行されるクエリ間でランタイム データ系列を自動的にキャプチャします。 ただし、Azure Databricksの外部で実行されるワークロード (たとえば、1 マイルの ETL や最後の 1 マイルの BI) がある場合があります。 Unity Catalog では、外部系列メタデータを追加して、自動的にキャプチャされる Azure Databricks データ系列を拡張し、Unity カタログでエンドツーエンドの系列ビューを提供できます。 これは、データが Unity カタログに取り込まれる前にデータがどこから取得されたか (Salesforce や MySQL など) をキャプチャする場合や、Unity カタログの外部 (Tableau やPower BIなど) でデータが使用される場所をキャプチャする場合に便利です。

外部系列は、次の 2 つの方法で追加できます。

次の系列グラフは、MySQL と PostgreSQL の 2 つの外部テーブルを示しています。このテーブルは Unity カタログのマネージド テーブルとしてAzure Databricksに取り込まれており、列は release_date 列に変換され、外部レポートによって使用されます。

右上隅の [Create external lineage]\(外部系列の作成\) ボタンを使用して、Unity カタログ テーブルに接続されている外部アップストリーム テーブルとダウンストリーム レポートを示す系列グラフ。

Azure Databricksのデータ系列に関する一般的な情報については、Unity カタログの系列を参照してください。

要求事項

Unity カタログに外部系列メタデータを追加するには、特定のタスクに応じて次の権限が必要です。

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

外部系列メタデータを追加する

外部系列メタデータを追加するには:

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

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

  2. 外部メタデータ オブジェクトと別の Unity Catalog オブジェクト (テーブル、モデル、パス、その他の外部メタデータ オブジェクトなど) の間に系列リレーションシップを構成します。

    系列リレーションシップを作成すると、外部メタデータ オブジェクトが系列グラフ ビューに表示されます。

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

外部メタデータ オブジェクトを作成する

外部メタデータ オブジェクトは、カタログ エクスプローラーまたは 外部メタデータ API を使用して作成できます。

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

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

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

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

    必須:

    • 名前: Azure Databricks ユーザーがリネージで表示されている内容を理解しやすくなるように、人が判読できる名前を入力します。 外部メタデータ オブジェクトは Unity カタログ のセキュリティ保護可能なオブジェクトであるため、名前は Unity Catalog オブジェクトの名前付け規則に従う必要があります。 セキュリティ保護可能なオブジェクトの名前付けの要件を参照してください。
    • システムの種類: 一般的な外部データと BI システムの一覧から選択します。 見つからない場合は、カスタム を選択します。
    • エンティティの種類: "table" や "dashboard" などのオブジェクトの種類を入力します。

    オプション:

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

    アドバンスド:

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

    ダイアログには、外部メタデータ オブジェクトを表示したり、オブジェクトの系列リレーションシップを作成したりするオプションが表示されます。

系列リレーションシップを作成する

系列リレーションシップは、カタログ エクスプローラー、 外部系列 API、または Databricks SDK for Python を使用して作成できます。

外部メタデータ オブジェクトと他の Unity カタログ オブジェクトの間にリレーションシップを追加するには:

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

    1. [ データ] アイコンをクリックします。カタログ
    2. [ 外部データ > ] ボタンをクリックします
    3. [ 外部メタデータ ] タブに移動し、外部メタデータ オブジェクトを選択します。
  2. [ 系列リレーションシップの作成] をクリックします。

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

  4. リレーションシップを作成する オブジェクトの種類 を入力します。

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

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

これで、関連オブジェクトの [系列] タブに外部系列リレーションシップが表示されます。

外部系列のリレーションシップをモデル化する

外部系列を手動で追加する場合は、次のパターンを使用して、より複雑なリレーションシップをモデル化します。

  • 2 つの Unity カタログ テーブルを接続する: 両方が Unity カタログに登録されている 2 つのテーブル間に系列リレーションシップを指定するには、その間に配置される外部メタデータ オブジェクトを作成します。 一方のテーブルを外部メタデータ オブジェクトのアップストリームとして指定し、もう 1 つのテーブルをダウンストリームとして指定して、系列グラフに接続されているようにします。
  • 複数レベルの系列を追加する: Azure Databricksに入る前に複数のシステムを通過するデータに注釈を付けるために、複数の外部メタデータ オブジェクトを作成し、それぞれの間に外部系列リレーションシップを構成します。
  • 列レベルの系列の追加: 外部メタデータ オブジェクトを作成するときに列名を指定し、系列リレーションシップを構成するときにソース列とターゲット列をマップします。

制限事項

  • 外部系列は、系列システム テーブル (system.access.table_lineage および system.access.column_lineage) には記録されません。
  • メタストアごとに最大 10,000 個の外部メタデータ オブジェクトと 100,000 個の外部系列リレーションシップを作成できます。 リソース制限に関するページを参照してください。

その他のリソース