创建和管理卷
本文包含用于创建、管理和删除 Unity Catalog 卷的语法示例。
- 有关上传、管理或处理卷中的文件的说明,请参阅管理卷中的文件。
- 有关浏览卷及其内容的详细信息,请参阅浏览存储和查找数据文件。
- 有关卷的一般概述,请参阅什么是 Unity Catalog 卷?。
- 有关托管卷和外部卷的详细信息,请参阅托管卷与外部卷。
- 有关 Unity Catalog 权限详细信息,请参阅卷的特权是什么?。
创建卷
使用 SQL、目录资源管理器或其他工具创建卷时,默认会创建托管卷。 若要创建外部卷,可将卷与外部位置相关联。
以下说明包括用于创建托管卷,以及用于可选地指定云对象存储位置以创建外部卷的示例语法。
SQL
若要创建托管卷,请使用以下语法:
CREATE VOLUME <catalog>.<schema>.<volume-name>;
若要创建外部卷,请添加 LOCATION
子句,如以下示例所示:
CREATE EXTERNAL VOLUME <catalog>.<schema>.<external-volume-name>
LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.chinacloudapi.cn/<path>/<directory>';
目录资源管理器
在目录资源管理器中创建卷:
- 在 Azure Databricks 工作区中,单击“ 目录”。
- 搜索或浏览要向其添加卷的架构并将其选中。
- 单击“创建卷”按钮。 (必须具有足够的特权。)
- 输入卷的名称。
- 如果要创建外部卷,请执行以下操作:
- 选择要在其中创建卷的外部位置。
- 编辑路径以反映要在其中创建卷的子目录。
- 添加注释(可选)。
- 单击“创建”。
注意
定义卷时,对卷路径下数据的云 URI 访问受卷权限约束。
请参阅 CREATE VOLUME。
所需的权限
必须具有以下权限才能创建卷:
资源 | 所需的权限 |
---|---|
架构 | USE SCHEMA 、CREATE VOLUME |
目录 | USE CATALOG |
默认情况下,在与包含架构关联的托管存储位置中创建托管卷。 请参阅在 Unity Catalog 中指定托管存储位置。
若要创建外部卷,还必须对管理 LOCATION
子句中指定的云对象存储的外部位置具有 CREATE EXTERNAL VOLUME
特权。 请参阅使用 Unity Catalog 连接到云对象存储。
删除卷
使用以下语法删除卷:
DROP VOLUME IF EXISTS <volume-name>;
请参阅 DROP VOLUME。
注意
删除托管卷会将包含的文件标记为删除,而删除外部卷则不会。 请参阅托管卷与外部卷之间的行为差异。
所需的权限
只有具有所有者权限的用户才能删除卷。 请参阅卷所有权。
对卷重命名
使用以下语法对卷重命名:
ALTER VOLUME <volume-name> RENAME TO <new-volume-name>
请参阅 ALTER VOLUME。
所需的权限
只有具有所有者特权的用户才能对卷重命名。 请参阅卷所有权。
更改对卷的权限
使用 GRANT
和 REVOKE
更改对卷的权限。
例如,以下语法授予对卷的 READ FILES
:
GRANT READ FILES ON VOLUME <volume-name> TO <principal>
以下语法用于撤销对卷的 WRITE FILES
:
REVOKE WRITE FILES ON VOLUME <volume-name> TO <principal>
所需的权限
只有具有所有者特权的用户才能更改卷的权限。 请参阅卷所有权。
更改卷所有者
使用以下语法更改卷的所有者:
ALTER VOLUME <volume-name> SET OWNER TO <principal-name>
请参阅 ALTER VOLUME。
所需的权限
只有具有所有者特权的用户才能更改卷的所有者。 请参阅卷所有权。