Unity カタログ カタログを Microsoft Fabric に発行する

Important

この機能は パブリック プレビュー段階です

このページでは、Unity カタログ カタログをMicrosoft Fabricに発行する方法について説明します。 Unity カタログ カタログを発行すると、Unity カタログ テーブルは、Fabricの読み取り専用ミラー化テーブルとして使用できるようになります。

Fabricで Unity カタログ テーブルに対してクエリを実行できます。 ミラー化されたテーブルには、Azure Databricksのデータとスキーマが反映されます。

ミラー化されたテーブルは、Fabricでは読み取り専用です。 すべての書き込みがAzure Databricksを通過する必要があります。

Note

代わりに OneLake ショートカットを使用してMicrosoft Fabricから Unity カタログデータを読み取る方法については、「Microsoft Fabricを使用して Unity カタログに登録されているデータを読み取るを参照してください。

前提条件

  • サーバーレス コンピューティング、または Databricks Runtime 18.1 以降のコンピューティング。
  • Unity カタログが有効になっているAzure Databricks ワークスペース。
  • Unity カタログ メタストアで外部データ アクセスを有効にする必要があります。 「Unity Catalog への外部データ アクセスを有効にする」を参照してください。
  • Microsoft Entra ID と Azure Databricks の両方に登録されている、Fabric 接続の認証に使用するユーザー アカウントまたは Microsoft Entra ID サービス プリンシパル。 サービス プリンシパルについては、「 自動 ID 管理」を参照してください。
  • 容量が割り当てられているアクティブなFabric ワークスペース。 詳細については、 Microsoft のドキュメントを参照してください
  • 同一の ID には、Fabric ワークスペースで少なくとも Contributor ロールが付与されている必要があります。 Microsoft Fabricドキュメントを参照してください。

手順 1: 特権を付与する

Fabricでのミラーリングに必要な Unity カタログ権限をユーザーまたはサービス プリンシパルに付与します。

カタログ エクスプローラー

Fabricから接続するカタログに対して、ユーザーまたはサービス プリンシパルに次の特権を付与します。

  • USE CATALOG
  • USE SCHEMA
  • EXTERNAL USE SCHEMA

詳細な手順については、「 オブジェクトに対するアクセス許可を付与する」を参照してください。

SQL

Azure Databricks ワークスペースに接続されている SQL エディターまたはノートブックで、次のコマンドを実行します。

サービス プリンシパル:

GRANT USE CATALOG ON CATALOG my_catalog TO `<service_principal_application_id>`;
GRANT USE SCHEMA ON CATALOG my_catalog TO `<service_principal_application_id>`;
GRANT EXTERNAL USE SCHEMA ON CATALOG my_catalog TO `<service_principal_application_id>`;

ユーザー アカウント:

GRANT USE CATALOG ON CATALOG my_catalog TO `<user@example.com>`;
GRANT USE SCHEMA ON CATALOG my_catalog TO `<user@example.com>`;
GRANT EXTERNAL USE SCHEMA ON CATALOG my_catalog TO `<user@example.com>`;

手順 2: Azure Databricks ワークスペースへのFabric接続を作成する

Azure Databricks ワークスペースを指すFabric接続を作成します。 Fabricでは、この接続を使用して Unity カタログメタデータの認証と読み取りを行います。

  1. Microsoft Fabricで、歯車アイコン Settings をクリックします。

  2. [ 接続とゲートウェイの管理] に移動します。

  3. + New をクリックします。

  4. [ 新しい接続 ] ウィンドウで、[ クラウド] を選択します。

  5. 接続名を入力します。

  6. Connection typeAzure Databricks workspace に設定します。

  7. Azure Databricks ワークスペースの URL を入力します。

  8. 認証方法として OAuth 2.0 または サービス プリンシパル を選択します。

    • サービス プリンシパルを選択する場合は、次の情報を入力します。

      • テナント ID: Azure Databricks ワークスペースのMicrosoft Entraテナント ID。 サービス プリンシパルと Fabric ワークスペースは、この同じテナントに存在する必要があります。
      • サービス プリンシパル ID: Azure Databricksに登録したサービス プリンシパルのアプリケーション (クライアント) ID。
      • サービス プリンシパル キー: サービス プリンシパルのクライアント シークレット。
    • OAuth 2.0 を選択する場合は、[資格情報の編集をクリックし、ポップアップを使用してAzure Databricksにサインインします。

  9. [ この接続をオンプレミスのデータ ゲートウェイまたは VNet データ ゲートウェイで使用できるようにする ] を選択します。共有を有効にします。

  10. プライバシー レベルを選択します。

  11. Create をクリックしてください。 新しい接続が接続の一覧に表示されます。

手順 3: カタログ エクスプローラーからカタログを発行する

Azure Databricks UI からカタログを発行します。

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. 発行するカタログを選択します。

  3. [ 共有 ] ボタンをクリックし、[ OneLake に発行] を選択します。

  4. [Connect をクリックしてMicrosoft Entra IDアカウントで認証します。

  5. 認証後、接続とFabricワークスペースを選択します。

    • このAzure Databricksワークスペースと一致する接続が 1 つだけの場合は、自動的に選択されます。
    • 一致する接続が複数存在する場合は、使用する接続を選択します。

    Note

    現在のAzure Databricks ワークスペース URL と一致するFabric接続のみが表示されます。 同じワークスペースから同じFabric テナントへの複数の接続を作成できます。

  6. 表示名を確認します。 このフィールドには、カタログ名が事前に入力されています。 編集できます。

    Note

    表示名には、英数字とアンダースコアのみを含める必要があります。 ハイフンやその他の特殊文字は使用できません。

  7. Fabric に発行 をクリックします。 操作が完了すると、メッセージ Creating mirrored catalog... が表示されます。 これには最大 20 秒かかることがあります。

  8. 発行が成功すると、確認が表示され、 [Fabric] ボタンが表示されます。

手順 4: Fabricのテーブルにアクセスする

発行が成功したら、[Fabricミラー化されたカタログを開くか、Fabric ワークスペースでミラー化されたAzure Databricks カタログ項目を見つけます。

カタログが空の場合は、Fabric項目の Manage catalog をクリックして、Unity カタログ カタログのスキーマ名が表示されることを確認します。 ミラー化された項目を更新するには、更新アイコンをクリックします。

同じ Unity カタログ カタログを複数のFabric ワークスペースに個別に発行できます。

制限事項

  • ミラー化されたテーブルは、Fabricでは読み取り専用です。 書き込みでは、Azure Databricksを通過する必要があります。
  • 表示名では、英数字とアンダースコアのみがサポートされます。 最大文字数は 255 文字です。
  • テーブルはFabricにミラーリングするために、Delta Lake、またはIceberg読み取りを有効にしたDelta Lakeを使用しなければなりません。

Troubleshooting

エラー 解決方法
403 Forbidden をクリックするとFabric に発行 Fabric ワークスペースにはアクティブな容量の割り当てがありません。 403 エラーは容量が割り当てられていないこと、404 エラーは容量が割り当てられているがアクティブではないことを意味します。 Fabric容量を割り当てるかアクティブ化し、再試行します。
No Azure Databricks connections found このAzure Databricksワークスペースの URL と一致するFabric接続はありません。 Fabric で、Settings>Manage connections and gateways>New connection に移動し、正しいワークスペース URL と OAuth 2.0 認証を使用して、Azure Databricks ワークスペース接続を作成します。
Microsoft Entra ID のポップアップが閉じられたか、キャンセルされました サインイン ポップアップが閉じている場合、発行モーダルにエラーが表示されます。 再試行するには、Microsoft Entra ID に接続 をクリックします。
Invalid display name 表示名にハイフンや特殊文字を含めることはできません。 英数字とアンダースコアのみを使用します(最大 255 文字)。
重複する表示名 その名前のミラー化された項目は、ターゲット Fabric ワークスペースに既に存在します。 別の番号を入力します。
公開処理は 5 分後にタイムアウトします 大規模なカタログは、ミラー化に時間がかかる場合があります。 Fabric ワークスペースを直接確認します。 アイテムがまだ処理中である可能性があります。
発行後にテーブルがFabricに表示されない Fabric項目の Manage catalog をクリックして、スキーマ名が表示されることを確認します。 テーブルがDelta Lakeを使用しているか、またはIcebergリードを有効にしたDelta Lakeを使用しているかを確認してください。
Fabricでは、テーブルのプレビュー時に Couldn't Access Data が表示されます サービス プリンシパルがカタログに USE CATALOGUSE SCHEMA、および EXTERNAL USE SCHEMA していること、およびすべての前提条件が満たされていることを確認します。
公開中の権限エラー 発行ユーザーがターゲット Fabric ワークスペースに Contributor 以上のロールを持っていることを確認します。 サービス プリンシパルに Unity カタログ カタログに対する EXTERNAL USE SCHEMA 権限があり、メタストアで外部データ アクセスが有効になっていることを確認します。
Microsoft Entra ID トークンは発行中に期限切れになります トークンの発行中に有効期限が切れると、認証エラーが表示されます。 再認証して再試行します。 トークンは、通常の使用中に自動的に更新されます。

その他のリソース