Azure Databricksを OneLake 外部の場所に接続する

Important

この機能は ベータ版です。

このページでは、外部の場所を使用して OneLake に接続する方法について説明します。 接続を使用すると、Unity カタログ オブジェクト (テーブル、ボリューム、ビュー、具体化されたビュー、ストリーミング テーブル) を作成し、Unity カタログを使用してデータを管理できます。 Azure Databricksから既存の OneLake データを書き込まずに読み取る場合は、「OneLake カタログのフェデレーションを有効にする」を参照してください。

OneLake パスに接続するには、次の 2 つの Unity カタログセキュリティ保護可能オブジェクトが必要です。

  • OneLake ストレージへのアクセスを許可するマネージド ID またはサービス プリンシパルを指定するストレージ資格情報。
  • OneLake ストレージへの ID ベースの ABFSS パスを定義し、ストレージ資格情報を参照する外部の場所。

必要条件

  • Databricks Runtime 18.1 以降、またはサーバーレス コンピューティング
  • 容量が割り当てられているアクティブなMicrosoft Fabric ワークスペース
  • Unity Catalog メタストアに対する CREATE STORAGE CREDENTIAL 権限、およびメタストアとストレージ資格情報の両方に対する CREATE EXTERNAL LOCATION 権限
  • Azure Databricks ワークスペースが Unity カタログに対して有効になっている必要がある
  • Fabric管理者は、ユーザーがで>必要があります
  • 対象の Fabric ワークスペースでは、>で OneLake のユーザー委任型SASトークンを使用して認証を行うが有効になっている必要があります。

Warning

Fabric ワークスペース内の Azure Databricks Storage 項目へのアクセスは、割り当てられたマネージド ID に制限されません。 Fabric ワークスペースのビューアー以外のロール (メンバー、共同作成者、管理者) を持つプリンシパルは、Unity カタログを介してアクセス権が付与されたかどうかにかかわらず、Azure Databricks Storage アイテムのデータの読み取り、書き込み、削除を行うことができます。

この制限に対処するまでは、Azure Databricks Storage 項目を含む Fabric ワークスペースを特権のある制限付きワークスペースとして扱います。

  • その Fabric ワークスペースで Member、Contributor、または Administrator ロールが割り当てられているプリンシパルの数を制限します。
  • 厳密に必要な場合を除き、エンド ユーザーまたは広範なサービス プリンシパルをこのワークスペースに追加しないでください。
  • Azure Databricks Storage 項目にのみ専用のFabric ワークスペースを使用します。 他のFabricアセットやユーザー向けのワークスペースと組み合わせないでください。

手順 1: AzureとFabricで ID とアクセスを構成する

  1. Azure ポータルで、マネージド ID またはサービス プリンシパルを持つAzure Databricks用の Access Connector を作成または識別します。
  2. Microsoft Fabricで、ターゲット ワークスペースに移動します。
  3. [ ワークスペース設定 ] 歯車ボタンをクリックし、[ アクセスの管理] をクリックします。
  4. [ ユーザーまたはグループの追加 ] をクリックし、マネージド ID またはサービス プリンシパルを検索します。
  5. マネージド ID またはサービス プリンシパルに 管理者、 メンバー、または 共同作成者 ロールを割り当てます。

手順 2: Fabricでストレージをプロビジョニングし、パスを取得する

  1. Fabric ワークスペースで、Azure Databricks Storage 項目を作成します。

  2. 項目が作成されたら、ID ベースの ABFSS パスを作成します。

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    

    ワークスペース ID と Azure Databricks Storage アイテム ID は、アイテムが Fabric で開いているときにブラウザーの URL で使用できます。

    Note

    外部の場所には、表示名ではなく、ID ベースのパス形式 (GUID) が必要です。 名前ベースのパスは、作成時に拒否されます。

    このパスを保存します。 手順 4 で使用します。

手順 3: Unity カタログ ストレージ資格情報を作成する

  1. Unity カタログ対応の Azure Databricks ワークスペースにサインインします。

  2. サイドバーで、[データ] アイコンをクリック します。カタログ。

  3. [ 追加] または [プラス] アイコンをクリックし、[ 資格情報の作成] をクリックします。

  4. [資格情報の種類]としてAzure Managed Identityを選びます。

  5. ストレージ資格情報名とオプションのコメントを入力します。

  6. Access Connector ID (マネージド ID に関連付けられているアクセス コネクタのリソース ID) を入力します。

    リソース ID の形式は次のとおりです。

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (省略可能)ユーザー割り当てマネージド ID を使用してアクセス コネクタを作成した場合は、 マネージド ID を入力します。

  8. Create をクリックしてください。

手順 4: OneLake 外部の場所を作成する

  1. サイドバーで、[データ] アイコンをクリック します。カタログ。

  2. [ 追加] または [プラス] アイコンをクリックし、[ 外部の場所の作成] をクリックします。

  3. 外部の場所の名前を入力します。

  4. [ ストレージの種類] で [ OneLake] を選択します。

  5. [ ストレージ資格情報] で、手順 3 で作成した資格情報を選択します。

  6. [ URL] に、手順 2 の ID ベースの ABFSS パスを入力します。 例えば次が挙げられます。

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    
  7. Create をクリックしてください。

  8. [ 接続のテスト ] をクリックして、外部の場所を確認します。

    Note

    接続テスト中に表示される「スキップされたファイルイベントの読み取り」警告は、想定内の動作です。 OneLake パスでは、ファイル イベント通知はまだサポートされていません。 外部の場所が正しく機能しています。

手順 5: OneLake 外部の場所に Unity カタログ オブジェクトを作成する

外部の場所を作成したら、それをマネージド ストレージとして使用するカタログを作成できます。 OneLake は、そのカタログに作成したすべてのマネージド テーブルを格納します。

-- Create a catalog with the OneLake external location as managed storage
CREATE CATALOG my_onelake_catalog
MANAGED LOCATION '<onelake_external_location_path>';

-- Create a managed table
CREATE TABLE my_onelake_catalog.default.my_table (
  id INT,
  name STRING,
  created_at TIMESTAMP
);

-- Insert data
INSERT INTO my_onelake_catalog.default.my_table
VALUES (1, 'example', current_timestamp());

<onelake_external_location_path>を外部の場所の URL またはその中のサブパスに置き換えます。

OneLake 外部の場所では、マネージド テーブル (Delta と Iceberg)、ボリューム、ビュー、具体化されたビュー、ストリーミング テーブルの Unity カタログ オブジェクトの種類がサポートされます。

Troubleshoot

エラー Resolution
403 Forbidden OneLake パスにアクセスする場合 (1) マネージド ID またはサービス プリンシパルがFabricで適切なワークスペース ロールを持ち、(2) Fabric ワークスペースにアクティブな容量の割り当てがあることを確認します。
接続テスト中のスキップされたファイルイベントの読み取り警告 この警告は正常です。 OneLake パスでは、ファイル イベント通知はまだ有効になっていません。 外部の場所が正しく機能しています。
ストレージ資格情報の作成またはテストが失敗する (1) マネージド ID リソース ID が正しいことを確認します。(2) マネージド ID に、ターゲット Fabric ワークスペースの管理者、メンバー、または共同作成者が付与されていること。(3) パスは正しい ID ベースの形式 (abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/) を使用します。(4) パスは、/Files フォルダーを指定します。

次のステップ