本页介绍当收件人位于已启用 Unity Catalog 的 Databricks 工作区中时,如何在 Delta Sharing 中创建收件人。 若要查看、更新、删除、授予共享访问权限、管理属性或使用现有收件人的 IP 列表限制访问权限,请参阅 “管理增量共享的数据收件人”。
接收方是表示使用共享数据的用户或用户组身份的具有名称的实体。 创建收件人的方式取决于收件人是否能够访问启用了 Unity Catalog 的 Databricks 工作区。
可以访问启用 Unity Catalog 的 Databricks 工作区的用户:
可以使用 Databricks 管理的安全连接创建收件人对象。 这种共享模式称为“Databricks 到 Databricks 共享”,本页对其进行了介绍。
无法访问启用 Unity Catalog 的 Databricks 工作区的收件人:
必须使用 开放共享,并使用基于令牌的身份验证(持有者令牌或 OAuth 联合身份验证)管理的安全连接。 有关创建开放共享收件人的信息,请参阅 为 Delta Sharing 收件人启用 OpenID Connect (OIDC) 联合 和 使用承载令牌(开放共享)为非 Databricks 用户创建收件人对象。
有关这两种共享模式以及何时选择哪种模式的详细信息,请参阅“开放共享与 Databricks 到 Databricks 共享”。
要求
若要创建接收者:
- 必须拥有
CREATE RECIPIENT权限,以访问注册要共享数据的 Unity 目录元存储。 - 必须使用附加了 Unity Catalog 元存储的 Azure Databricks 工作区创建接收者。
- 如果使用 Databricks 笔记本创建收件人,则计算必须使用 Databricks Runtime 11.3 LTS 或更高版本以及标准或专用访问模式(以前共享和单用户访问模式)。
有关其他接收方操作所需的权限(查看、更新、删除、授予共享访问权限、管理属性),请参阅 管理 Delta Sharing 的数据接收方。
为有权访问 Databricks 的用户创建接收者对象(Databricks 到 Databricks 共享)
如果数据接收者有权访问启用了 Unity Catalog 的 Databricks 工作区,则你可以创建身份验证类型为 DATABRICKS 的接收者对象。
身份验证类型的 DATABRICKS 收件人对象表示特定 Unity 目录元存储上的数据收件人,该对象通过由元存储的云、区域和 UUID 组成的 共享标识符 字符串在收件人对象定义中标识。 只能在该元存储中访问与该接收者共享的数据。
步骤 1:请求收件人的共享标识符
要求接收者用户向你发送 Unity Catalog 元存储的共享标识符,该元存储已附加到工作区中,接收者用户或用户组将在这些工作区内处理共享数据。
共享标识符是由元存储的云、区域和 UUID(元存储的唯一标识符)组成的字符串,格式为 <cloud>:<region>:<uuid>。
例如,在以下屏幕截图中,完整的共享标识符字符串是 aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016。
收件人可以使用目录浏览器、Databricks Unity Catalog CLI,或者在他们计划使用的工作区内支持 Unity Catalog 的计算上运行的 Databricks 笔记本或 Databricks SQL 查询中的默认 SQL 函数 CURRENT_METASTORE 来查找标识符。
目录资源管理器
若要使用目录资源管理器获取共享标识符,请执行以下操作:
在 Azure Databricks 工作区中,单击
目录。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在右上角,单击
分享 Delta Sharing 。 在“与我共享的内容”选项卡上,单击右上角的 Databricks 共享组织名称,然后选择“复制共享标识符”。
SQL
在笔记本或 Databricks SQL 查询编辑器中运行以下命令:
SELECT CURRENT_METASTORE();
CLI
使用 Databricks CLI 运行以下命令。 共享标识符将作为 global_metastore_id 返回。
databricks metastores summary
可以向你的接收者发送此步骤中包含的信息,也可以引导他们在 Databricks 到 Databricks 模型中获取访问权限。
步骤 2:创建接收者
若要为 Databricks 到 Databricks 共享创建接收者,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 CREATE RECIPIENT SQL 命令。
所需的权限:元存储管理员,或对要共享的数据所注册的 Unity Catalog 元存储拥有 CREATE RECIPIENT 特权的用户。
目录资源管理器
在 Azure Databricks 工作区中,单击
目录。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。Gear icon.
或者,在右上角,单击
分享 Delta Sharing 。 在“由我共享的内容”选项卡上,单击“新建收件人”。
输入 收件人姓名。
对于 收件人类型,请选择 Databricks。
输入收件人的 共享标识符。
使用格式为
<cloud>:<region>:<uuid>的完整共享标识符字符串。 例如,aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016。(可选)输入注释。
单击“创建”。
(可选)创建自定义接收者属性。
在“收件人概述”选项卡上,单击
Edit icon“收件人”属性旁边的。 然后添加属性名称(“键”)和“值”。 有关详细信息,请参阅管理接收者属性。
SQL
在笔记本或 Databricks SQL 查询编辑器中运行以下命令:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];
使用格式为 <cloud>:<region>:<uuid> 的完整共享标识符字符串。 例如,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef。
还可为接收者添加自定义属性。 有关详细信息,请参阅管理接收者属性。
CLI
使用 Databricks CLI 运行以下命令。 替换占位符值:
-
<recipient-name>:接收者的名称。 -
<sharing-identifier>:格式为<cloud>:<region>:<uuid>的完整共享标识符字符串。 例如,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef。 -
<authentication-type>:当为DATABRICKS提供格式为<cloud>:<region>:<uuid>的共享标识符字符串时设置为<sharing-identifier>。
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
还可为接收者添加自定义属性。 有关详细信息,请参阅管理接收者属性。
将使用 authentication_type 值 DATABRICKS 创建接收者。
后续步骤
- 管理对 Delta Sharing 数据共享的访问权限(面向提供方) — 向接收方授予对一个或多个数据共享的访问权限。
- 管理 Delta Sharing 的数据接收方 — 查看、更新、删除、管理属性,或限制现有接收方的访问权限。
- 为 Delta Sharing 创建共享 — 创建要授予接收方访问权限的共享。