DBFSルート内のデータの外部ロケーションの作成

この記事では、Unity Catalog DBFSルート ストレージの場所へのアクセスを制御するために、 で外部ロケーションを構成する方法について説明します。Databricks では DBFSルート ストレージにデータを格納しないことをお勧めしますが、従来のプラクティスにより、ワークスペースが格納する場合もあります。

外部ロケーション は、ストレージ資格情報をクラウド オブジェクト ストレージ コンテナーに関連付ける Unity Catalog セキュリティ保護可能なオブジェクトです。 外部ロケーションは、マネージドテーブルとボリュームの管理ストレージロケーションを定義し、外部テーブルと外部ボリュームを含むストレージロケーションへのアクセスを管理するために使用されます。

ワークスペース ローカルのレガシ がDatabricksHive metastore DBFSルート にデータを格納し、レガシHive metastore をフェデレーションして、チームが を使用して テーブルを操作できるようにする場合は、外部ロケーションを作成する必要があります。Hive metastoreUnity CatalogHive metastore フェデレーション: Unity Catalogを有効にしてHive metastoreに登録されたテーブルを管理する」および「レガシーワークスペースHive metastoreのHive metastoreフェデレーションを有効にする」を参照してください。

始める前に

DBFSルートの外部ロケーションを作成するには、 Unity CatalogDBFSルートのクラウド ストレージの場所にアクセスできるストレージ 認証情報 を で定義する必要があります。まだお持ちでない場合は、外部ロケーションの作成プロセス中にシステムによって作成できます。

権限の要件:

  • メタストアに対する CREATE STORAGE CREDENTIAL 権限と CREATE EXTERNAL LOCATION 権限が必要です。 メタストア管理者は、デフォルトによってこれらの特権を持っています。

    注:

    DBFSルートのストレージ場所のストレージ資格情報が既に存在する場合、外部ロケーションを作成するユーザーはCREATE STORAGE CREDENTIAL必要はありませんが、ストレージ資格情報とメタストアの両方でCREATE EXTERNAL LOCATIONする必要があります。

  • 外部ロケーションの作成時にシステムにストレージ資格情報を作成させるには、ワークスペース管理者である必要があります。

    DBFSルートのストレージの場所へのアクセスを許可するストレージ資格情報が既に存在し、ストレージ資格情報とメタストアの両方にCREATE EXTERNAL LOCATIONがある場合は、ワークスペース管理者である必要はありません。

外部ロケーションの作成

Catalog Explorer を使用して、 DBFSルートの外部ロケーションを作成できます。

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

  2. [外部データ>] と [外部ロケーションの作成] をクリックします。

  3. 外部ロケーション名を入力します。

  4. 「URL」で、「DBFSマウントからコピー」をクリックし、「DBFSルートからコピー」を選択します。

    URL フィールドと subpath フィールドには、 DBFSルートへのクラウド ストレージ パスが入力されます。

    重要

    DBFSルートの外部ロケーションを作成する場合は、バケット全体へのパスではなく、DBFSルートロケーションへのサブパスを使用する必要があります。サブパスには、 Hive metastore テーブルのデフォルト ストレージの場所である user/hive/warehouse が事前に入力されています。 DBFSルート内のデータに対するより詳細なアクセス制御が必要な場合は、ルート内のサブパスに対して個別の外部ロケーションを作成できますDBFS。

  5. DBFSRouteクラウドストレージの場所へのアクセスを許可するストレージ認証情報を選択するか、何も定義されていない場合は、[+新しいストレージ認証情報を作成]をクリックします。

    ストレージ資格情報を作成するには、 [ 資格情報の種類] としてDBFS [ルート] を選択します 。ストレージ認証情報は、外部ロケーションを保存するときに自動的に作成されます。

  6. (オプション)コメントを追加します。

  7. (オプション) [詳細オプション ] をクリックし、 フォールバック モードを有効にします。

    フォールバックモードは、レガシーワークロードの移行シナリオを対象としています。 「 外部ロケーションでフォールバックモードを有効にする」を参照してください。

  8. 作成をクリックします。

  9. [ 権限 ]タブに移動して、外部ロケーションの使用権限を付与します。

    1. 付与 をクリックします。

    2. [プリンシパル] フィールドで users、group、または serviceプリンシパル を選択し、付与する権限を選択します。

    3. 付与 をクリックします。

  10. (オプション)この外部ロケーションにアクセスできるワークスペースを設定します。

    デフォルトを使用すると、この Unity Catalog メタストアを使用するワークスペースのユーザーに、この場所のデータへのアクセス権を付与できます。 そのアクセスを特定のワークスペースに制限できます。 Databricks では、 DBFSルート があるワークスペースへのアクセスを制限することをお勧めします。

    外部ロケーションを 1 つ以上のワークスペースにバインドする」を参照してください。