本页介绍如何在 Azure Databricks 中查看、更新和删除现有的 Delta Sharing 共享。 共享是 Unity 目录中的安全对象,它捆绑表、视图、卷、笔记本、AI 模型和其他数据资产,以便与一个或多个收件人共享。
若要创建新共享或向现有共享添加数据资产,请参阅 为 Delta Sharing 创建共享。 若要授予接收方对某个共享的访问权限,请参阅 管理对 Delta Sharing 数据共享的访问权限(面向提供方)。 若要管理与你共享数据的数据接收方,请参阅 管理 Delta Sharing 的数据接收方。
若要了解有关共享模型的详细信息,请参阅 共享、提供商和收件人。
要求
检查是否满足要完成的每个任务的列出的要求。
| 任务 | 要求 |
|---|---|
| 授予接收者对共享的访问权限 |
|
| 查看共享 |
|
| 更新共享所有者 |
|
| 更新共享名称 |
|
| 更新其他共享属性 |
|
| 删除共享 |
|
查看共享和共享详细信息
查看共享内容及其详细信息之前,请检查是否满足要求。
若要查看共享列表或有关共享的详细信息,请使用目录资源管理器、Databricks Unity 目录 CLI 或 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SQL 命令。
共享详细信息包括:
- 共享的所有者、创建者、创建时间戳、更新程序、更新时间戳、注释。
- 共享中的数据资产。
- 可访问共享内容的收件人。
目录浏览器
在 Azure Databricks 工作区中,单击
Catalog。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在“快速访问”页中,单击“Delta Sharing >”按钮。
打开“共享”选项卡以查看共享列表。
在“详细信息”选项卡上查看共享详细信息。
SQL
要查看共享列表,请在笔记本或 Databricks SQL 查询编辑器中运行以下命令。 (可选)将<pattern>替换为LIKE谓词。
SHOW SHARES [LIKE <pattern>];
若要查看有关特定共享的详细信息,请运行以下命令。
DESCRIBE SHARE <share-name>;
若要查看有关共享中的所有表、视图和卷的详细信息,请运行以下命令。
SHOW ALL IN SHARE <share-name>;
CLI
若要查看共享列表,请使用 Databricks CLI 运行以下命令。
databricks shares list
若要查看有关特定共享的详细信息,请运行以下命令。
databricks shares get <share-name>
查看对共享具有权限的收件人
查看收件人之前,请检查是否满足 要求 。
若要查看收件人已被授予访问权限的共享列表,请使用目录浏览器、Databricks Unity 目录 CLI 或 Azure Databricks 笔记本,或 Databricks SQL 查询编辑器中的 SHOW GRANTS TO RECIPIENT SQL 命令。
目录浏览器
在 Azure Databricks 工作区中,单击
Catalog。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在“快速访问”页中,单击“Delta Sharing >”按钮。
在“ 我共享 ”选项卡上,找到并选择收件人。
转到“收件人”选项卡,查看可以访问共享的收件人列表。
SQL
在笔记本或 Databricks SQL 查询编辑器中运行以下命令。
SHOW GRANTS ON SHARE <share-name>;
CLI
使用 Databricks CLI 运行以下命令。
databricks shares share-permissions <share-name>
更新共享
在对共享进行更新之前,请检查是否满足 要求 。
可以通过以下方式更新共享:
- 重命名共享。
- 从共享中移除表、视图、卷和模式。
- 添加或更新共享注释。
- 重命名表的别名(显示给收件人的表名)。
- 启用或禁用对表的历史数据的访问,以允许接收者执行时间旅行查询或流读取表中的数据。
- 添加、更新或删除分区定义。
- 更改共享所有者。
若要对这些共享进行更新,请使用目录资源管理器、Databricks Unity 目录 CLI 或 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SQL 命令。 但是,不能使用目录资源管理器重命名共享。
目录浏览器
在 Azure Databricks 工作区中,单击
Catalog。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在“快速访问”页中,单击“Delta Sharing >”按钮。
在“ 我共享 ”选项卡上,找到要更新的共享并单击其名称。
在共享详细信息页中,执行以下操作:
- 单击“所有者”或“批注”字段旁边的
以更新这些值。 - 单击资产行中的串形菜单
按钮以将其删除。
- 单击“管理资产 > 编辑资产”以更新所有其他属性:
- 若要移除资产,请清除资产旁边的复选框。
- 若要添加、更新或移除分区定义,请单击“高级选项”。
SQL
在笔记本或 Databricks SQL 编辑器中运行以下命令。
重命名共享文件:
ALTER SHARE <share-name> RENAME TO <new-share-name>;
从共享中删除表:
ALTER SHARE share_name REMOVE TABLE <table-name>;
从共享中删除卷:
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
在分享上添加或更新评论:
COMMENT ON SHARE <share-name> IS '<comment>';
为共享中的表添加或修改分区:
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
更改共享所有者:
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
为表启用历史记录共享:
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
有关 ALTER SHARE 参数的详细信息,请参阅 ALTER SHARE。
CLI
使用 Databricks CLI 运行以下命令。
重命名共享文件:
databricks shares update <share-name> --name <new-share-name>
从共享中删除表:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
使用 Databricks CLI 0.210 或更高版本从共享中移除存储卷:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
注释
如果卷没有别名,则使用 name 属性。 如果有别名,则使用 string_shared_as。
在分享上添加或更新评论:
databricks shares update <share-name> --comment '<comment>'
更改共享所有者:
databricks shares update <share-name> --owner '<principal>'
主体必须是帐户级用户电子邮件地址或组名称。
更新共享所有者时的注意事项
共享所有者会影响授权和安全功能(如 ABAC 策略)的评估方式。 如果将共享所有权转让给超特权用户,并且您具有受 ABAC 策略保护的表或架构,则接收者将拥有超特权访问权限。
删除共享
删除共享时,收件人无法再访问共享数据。 在删除共享对象之前,请检查是否满足 要求 。
若要删除共享,请使用目录资源管理器、Databricks Unity 目录 CLI 或 Azure Databricks 笔记本或 Databricks SQL query editor中的 DELETE SHARE SQL 命令。 你必须是份额的所有者。
目录浏览器
在 Azure Databricks 工作区中,单击
Catalog。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在“快速访问”页中,单击“Delta Sharing >”按钮。
在“ 我共享 ”选项卡上,找到要删除的共享并单击其名称。
单击
烤肉串菜单,然后选择“ 删除”。
在确认对话框中,单击“删除”。
SQL
在笔记本或 Databricks SQL 查询编辑器中运行以下命令。
DROP SHARE [IF EXISTS] <share-name>;
CLI
使用 Databricks CLI 运行以下命令。
databricks shares delete <share-name>