创建和管理卷
本文包含用于创建、管理和删除 Unity Catalog 卷的语法示例。
- 有关上传、管理或处理卷中的文件的说明,请参阅管理卷中的文件。
- 有关浏览卷及其内容的详细信息,请参阅浏览存储和查找数据文件。
- 有关卷的一般概述,请参阅什么是 Unity Catalog 卷?。
- 有关托管卷和外部卷的详细信息,请参阅托管卷与外部卷。
- 有关 Unity Catalog 权限详细信息,请参阅卷的特权是什么?。
创建卷
使用 SQL、目录资源管理器或其他工具创建卷时,默认会创建托管卷。 若要创建外部卷,可将卷与外部位置相关联。
以下说明包括用于创建托管卷,以及用于可选地指定云对象存储位置以创建外部卷的示例语法。
目录资源管理器
在目录资源管理器中创建卷:
- 在 Azure Databricks 工作区中,单击“ 目录”。
- 搜索或浏览要向其添加卷的架构并将其选中。
- 单击“创建卷”按钮。 (必须具有足够的特权。)
- 输入卷的名称。
- 如果要创建外部卷,请执行以下操作:
- 选择要在其中创建卷的外部位置。
- 编辑路径以反映要在其中创建卷的子目录。
- 添加注释(可选)。
- 单击“创建”。
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>';
注意
定义卷时,对卷路径下数据的云 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。
注意
删除托管卷会将包含的文件标记为删除,而删除外部卷则不会。 请参阅托管卷与外部卷之间的行为差异。
所需的权限
只有具有所有者权限的用户才能删除卷。 请参阅卷所有权。
对卷重命名
目录资源管理器
在目录资源管理器中对卷重命名:
- 在 Azure Databricks 工作区中,单击“ 目录”。
- 搜索或浏览要进行重命名的卷并将其选中。
- 单击卷名右侧的 ,然后选择“重命名”。
- 输入卷的名称。
- 单击“ 保存”。
SQL
使用以下语法对卷重命名:
ALTER VOLUME <volume-name> RENAME TO <new-volume-name>
请参阅 ALTER VOLUME。
所需的权限
只有具有所有者特权的用户才能对卷重命名。 请参阅卷所有权。
更改对卷的权限
目录资源管理器
若要在目录资源管理器中更改卷的权限,首先导航到权限 UI:
- 在 Azure Databricks 工作区中,单击“ 目录”。
- 搜索或浏览要更改其权限的卷并将其选中。
- 单击“权限”选项卡。卷上已授予和继承的特权随即显示。
若要授予新特权,请执行以下操作:
- 单击“授予”。
- 键入以搜索主体。 选择要授予特权的主体。 可选择多个主体。
- 选择希望授予的特权。
- 单击“授予”。
注意
如果主体没有对父资源的 USE CATALOG
和 USE SCHEMA
特权,则一条警告出现,指出需要其他特权。 如果对父资源具有足够的权限来授予这些特权,则一个复选框显示以同时授予这些特权。
若要撤销特权,请执行以下操作:
- 选择一个或多个授权。
- 单击“撤销”。
- 在出现的对话框中单击“撤销”进行确认。
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>
所需的权限
只有具有所有者特权的用户才能更改卷的权限。 请参阅卷所有权。
更改卷所有者
目录资源管理器
若要在目录资源管理器中更改卷的所有者,请执行以下操作:
- 在 Azure Databricks 工作区中,单击“ 目录”。
- 搜索或浏览要更改其所有权的卷并将其选中。
- 在“关于此卷”窗格中,单击“所有者”旁边的 。
- 键入以搜索主体并将其选中。
- 单击“ 保存”。
SQL
使用以下语法更改卷的所有者:
ALTER VOLUME <volume-name> SET OWNER TO <principal-name>
请参阅 ALTER VOLUME。
所需的权限
只有具有所有者特权的用户才能更改卷的所有者。 请参阅卷所有权。