ボリュームを作成して管理する

この記事には、Unity Catalog ボリュームを作成、管理、切断するための構文例が含まれています。

ボリュームを作成する

SQL、カタログ エクスプローラー、またはその他のツールを使用してボリュームを作成すると、既定で管理ボリュームが作成されます。 外部ボリュームを作成するには、ボリュームを外部の場所に関連付けます。

次の手順には、マネージド ボリュームを作成するための構文の例と、必要に応じて、外部ボリュームを作成するためのクラウド オブジェクト ストレージの場所を指定する構文が含まれています。

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

カタログ エクスプローラーでボリュームを作成するには:

  1. Azure Databricks ワークスペースで、カタログ アイコン [カタログ] をクリックします。
  2. ボリュームを追加するスキーマを検索または参照して、選択します。
  3. [ボリュームの作成] ボタンをクリックします。 (十分な特権が必要です。)
  4. ボリュームの名前を入力します。
  5. 外部ボリュームを作成する場合は、次の操作を行います。
    1. ボリュームを作成する外部の場所を選択します。
    2. ボリュームを作成するサブディレクトリを反映するようにパスを編集します。
  6. コメントを入力します (省略可能)。
  7. Create をクリックしてください。

SQL

マネージド ボリュームを作成するには、次の構文を使います。

CREATE VOLUME <catalog>.<schema>.<volume-name>;

外部ボリュームを作成するには、次の例にあるように、LOCATION 句を追加します。

CREATE EXTERNAL VOLUME <catalog>.<schema>.<external-volume-name>
LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

Note

ボリュームを定義すると、ボリューム パスの下のデータへのクラウド URI アクセスは、そのボリュームのアクセス許可によって管理されます。

CREATE VOLUME」を参照してください。

必要なアクセス許可

マネージド ボリュームを作成するには、次のアクセス許可が必要です。

リソース 必要なアクセス許可
[スキーマ] USE SCHEMACREATE VOLUME
カタログ USE CATALOG

既定では、マネージド ボリュームは、包含スキーマに関連付けられているマネージド ストレージの場所に作成されます。 「Unity Catalog の管理されたストレージの場所の指定」を参照してください。

外部ボリュームを作成するには、LOCATION 句で指定されたクラウド オブジェクト ストレージを管理する外部の場所に対する CREATE EXTERNAL VOLUME 特権も必要です。 「Unity Catalog を使用したクラウド オブジェクト ストレージへの接続」を参照してください。

ボリュームを削除する

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

カタログ エクスプローラーでボリュームを切断するには:

  1. Azure Databricks ワークスペースで、カタログ アイコン [カタログ] をクリックします。
  2. 切断するボリュームを検索または参照して、それを選択します。
  3. ボリューム名の右側にある ケバブ メニュー をクリックして、[削除] を選択します。
  4. 表示されるダイアログで [削除] をクリックして確認します。

SQL

ボリュームを削除するには、次の構文を使います。

DROP VOLUME IF EXISTS <volume-name>;

DROP VOLUME」を参照してください。

Note

管理ボリュームを切断すると、含まれているファイルは削除対象としてマークされますが、外部ボリュームを切断してもマークされません。 「管理ボリュームと外部ボリュームの動作の違い」を参照してください。

必要なアクセス許可

ボリュームを削除できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。

ボリューム名を変更する

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

カタログ エクスプローラーでボリュームの名前を変更するには:

  1. Azure Databricks ワークスペースで、カタログ アイコン [カタログ] をクリックします。
  2. 名前を変更するボリュームを検索または参照して、それを選択します。
  3. ボリューム名の右側にある ケバブ メニュー をクリックして、[名前の変更] を選択します。
  4. ボリュームの名前を入力します。
  5. [保存] をクリックします。

SQL

ボリューム名を変更するには、次の構文を使います。

ALTER VOLUME <volume-name> RENAME TO <new-volume-name>

ALTER VOLUME」を参照してください。

必要なアクセス許可

ボリューム名を変更できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。

ボリュームのアクセス許可を設定する

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

カタログ エクスプローラーでボリュームのアクセス許可を変更するには、まずアクセス許可 UI に移動します。

  1. Azure Databricks ワークスペースで、カタログ アイコン [カタログ] をクリックします。
  2. アクセス許可を変更するボリュームを検索または参照して選択します。
  3. [Permissions] タブをクリックします。ボリュームの許可および継承された特権が表示されます。

新しい特権を付与するには、次の操作を行います。

  1. [許可] をクリックします。
  2. 入力してプリンシパルを検索します。 特権を付与するプリンシパルを選択します。 複数のプリンシパルを選択できます。
  3. 付与する特権を選択します。
  4. [許可] をクリックします。

Note

プリンシパルに親リソースに対する USE CATALOG および USE SCHEMA 特権がない場合は、追加の特権が必要であることを示す警告が表示されます。 これらの特権を付与するのに十分なアクセス許可が親リソースにある場合は、それらの特権も付与するためのチェック ボックスが表示されます。

特権を取り消すには、次の操作を行います。

  1. 1 つ以上の許可を選択します。
  2. [取り消し] をクリックします。
  3. 表示されるダイアログで [取り消し] をクリックして確認します。

SQL

ボリュームのアクセス許可を変更するには、GRANTREVOKE を使用します。

たとえば、次の構文は、ボリューム上の READ FILES を許可します。

GRANT READ FILES ON VOLUME <volume-name> TO <principal>

ボリューム上の WRITE FILES を取り消す構文を次に示します。

REVOKE WRITE FILES ON VOLUME <volume-name> TO <principal>

Unity Catalog の特権の管理」を参照してください。

必要なアクセス許可

ボリュームのアクセス許可を付与できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。

ボリュームの所有者の変更

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

カタログ エクスプローラーでボリュームの所有者を変更するには、次の操作を行います。

  1. Azure Databricks ワークスペースで、カタログ アイコン [カタログ] をクリックします。
  2. 所有者を変更するボリュームを検索または参照して、それを選択します。
  3. [このボリュームについて] ウィンドウで、[所有者] の横にある [編集] アイコン をクリックします。
  4. 入力してプリンシパルを検索し、それを選択します。
  5. [保存] をクリックします。

SQL

ボリュームの所有者を変更するには、次の構文を使用します。

ALTER VOLUME <volume-name> SET OWNER TO <principal-name>

ALTER VOLUME」を参照してください。

必要なアクセス許可

ボリュームの所有者を変更できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。