ボリュームを作成して管理する
この記事には、Unity Catalog ボリュームを作成、管理、切断するための構文例が含まれています。
- ボリューム内のファイルのアップロード、管理、または操作の手順については、「ボリューム内のファイルを管理する」を参照してください。
- ボリュームとその内容の詳細については、「ストレージを探索してデータ ファイルを見つける」を参照してください。
- ボリュームの概要については、「Unity Catalog ボリュームとは」を参照してください。
- マネージドおよび外部ボリュームの詳細については、「マネージド ボリュームと外部ボリューム」を参照してください。
- Unity Catalog のアクセス許可の詳細については、「ボリュームの特権とは」を参照してください。
ボリュームを作成する
SQL、カタログ エクスプローラー、またはその他のツールを使用してボリュームを作成すると、既定で管理ボリュームが作成されます。 外部ボリュームを作成するには、ボリュームを外部の場所に関連付けます。
次の手順には、マネージド ボリュームを作成するための構文の例と、必要に応じて、外部ボリュームを作成するためのクラウド オブジェクト ストレージの場所を指定する構文が含まれています。
カタログ エクスプローラー
カタログ エクスプローラーでボリュームを作成するには:
- Azure Databricks ワークスペースで、 [カタログ] をクリックします。
- ボリュームを追加するスキーマを検索または参照して、選択します。
- [ボリュームの作成] ボタンをクリックします。 (十分な特権が必要です。)
- ボリュームの名前を入力します。
- 外部ボリュームを作成する場合は、次の操作を行います。
- ボリュームを作成する外部の場所を選択します。
- ボリュームを作成するサブディレクトリを反映するようにパスを編集します。
- コメントを入力します (省略可能)。
- 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 SCHEMA 、CREATE VOLUME |
カタログ | USE CATALOG |
既定では、マネージド ボリュームは、包含スキーマに関連付けられているマネージド ストレージの場所に作成されます。 「Unity Catalog の管理されたストレージの場所の指定」を参照してください。
外部ボリュームを作成するには、LOCATION
句で指定されたクラウド オブジェクト ストレージを管理する外部の場所に対する CREATE EXTERNAL VOLUME
特権も必要です。 「Unity Catalog を使用したクラウド オブジェクト ストレージへの接続」を参照してください。
ボリュームを削除する
カタログ エクスプローラー
カタログ エクスプローラーでボリュームを切断するには:
- Azure Databricks ワークスペースで、 [カタログ] をクリックします。
- 切断するボリュームを検索または参照して、それを選択します。
- ボリューム名の右側にある をクリックして、[削除] を選択します。
- 表示されるダイアログで [削除] をクリックして確認します。
SQL
ボリュームを削除するには、次の構文を使います。
DROP VOLUME IF EXISTS <volume-name>;
「DROP VOLUME」を参照してください。
Note
管理ボリュームを切断すると、含まれているファイルは削除対象としてマークされますが、外部ボリュームを切断してもマークされません。 「管理ボリュームと外部ボリュームの動作の違い」を参照してください。
必要なアクセス許可
ボリュームを削除できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。
ボリューム名を変更する
カタログ エクスプローラー
カタログ エクスプローラーでボリュームの名前を変更するには:
- Azure Databricks ワークスペースで、 [カタログ] をクリックします。
- 名前を変更するボリュームを検索または参照して、それを選択します。
- ボリューム名の右側にある をクリックして、[名前の変更] を選択します。
- ボリュームの名前を入力します。
- [保存] をクリックします。
SQL
ボリューム名を変更するには、次の構文を使います。
ALTER VOLUME <volume-name> RENAME TO <new-volume-name>
「ALTER VOLUME」を参照してください。
必要なアクセス許可
ボリューム名を変更できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。
ボリュームのアクセス許可を設定する
カタログ エクスプローラー
カタログ エクスプローラーでボリュームのアクセス許可を変更するには、まずアクセス許可 UI に移動します。
- Azure Databricks ワークスペースで、 [カタログ] をクリックします。
- アクセス許可を変更するボリュームを検索または参照して選択します。
- [Permissions] タブをクリックします。ボリュームの許可および継承された特権が表示されます。
新しい特権を付与するには、次の操作を行います。
- [許可] をクリックします。
- 入力してプリンシパルを検索します。 特権を付与するプリンシパルを選択します。 複数のプリンシパルを選択できます。
- 付与する特権を選択します。
- [許可] をクリックします。
Note
プリンシパルに親リソースに対する USE CATALOG
および USE SCHEMA
特権がない場合は、追加の特権が必要であることを示す警告が表示されます。 これらの特権を付与するのに十分なアクセス許可が親リソースにある場合は、それらの特権も付与するためのチェック ボックスが表示されます。
特権を取り消すには、次の操作を行います。
- 1 つ以上の許可を選択します。
- [取り消し] をクリックします。
- 表示されるダイアログで [取り消し] をクリックして確認します。
SQL
ボリュームのアクセス許可を変更するには、GRANT
と REVOKE
を使用します。
たとえば、次の構文は、ボリューム上の READ FILES
を許可します。
GRANT READ FILES ON VOLUME <volume-name> TO <principal>
ボリューム上の WRITE FILES
を取り消す構文を次に示します。
REVOKE WRITE FILES ON VOLUME <volume-name> TO <principal>
「Unity Catalog の特権の管理」を参照してください。
必要なアクセス許可
ボリュームのアクセス許可を付与できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。
ボリュームの所有者の変更
カタログ エクスプローラー
カタログ エクスプローラーでボリュームの所有者を変更するには、次の操作を行います。
- Azure Databricks ワークスペースで、 [カタログ] をクリックします。
- 所有者を変更するボリュームを検索または参照して、それを選択します。
- [このボリュームについて] ウィンドウで、[所有者] の横にある をクリックします。
- 入力してプリンシパルを検索し、それを選択します。
- [保存] をクリックします。
SQL
ボリュームの所有者を変更するには、次の構文を使用します。
ALTER VOLUME <volume-name> SET OWNER TO <principal-name>
「ALTER VOLUME」を参照してください。
必要なアクセス許可
ボリュームの所有者を変更できるのは、所有者特権を持つユーザーだけです。 「ボリュームの所有権」を参照してください。