管理(数据接收者的)Delta Sharing 提供程序

本文介绍如何使用 Unity Catalog 获取有关通过 Delta Sharing 与你共享数据的数据提供程序的信息。 其中还将介绍提供程序对象是什么,以及何时可能需要在 Unity Catalog 元存储中创建提供程序对象(大多数接收者永远不需要执行此任务)。

重要

数据接收者必须有权访问启用了 Unity Catalog 的 Databricks 工作区才能使用本文中所述的功能。 本文不适用于工作区未启用 Unity 目录的收件人。

收件人是否需要创建提供程序对象?

在 Delta Sharing on Databricks 中,术语“提供者”既可以表示与你共享数据的组织,也可以表示接收者的 Unity Catalog 元存储中代表该组织的安全对象。 如果该安全对象存在于接收者的 Unity Catalog 元存储中,则接收者可以使用 Unity Catalog 管理其团队对共享数据的访问

作为有权访问 Unity 目录元存储的收件人,通常不需要创建提供程序对象。 这是因为系统应使用 Databricks 到 Databricks 共享与你共享数据,并且提供程序对象会自动在 Unity 目录元存储中创建。

注意

如果你是 Unity 目录上的罕见收件人(从未从启用了 Unity 目录的 Databricks 工作区共享的提供程序接收数据),则可能需要在 Unity 目录中创建提供程序对象,以便可以使用 Unity 目录管理该共享数据。 如果属于该类别,则可以使用 POST /api/2.1/unity-catalog/providers REST API 调用或 Databricks CLI 创建 Unity 目录提供程序对象。 你必须是具有元存储 CREATE_PROVIDER 特权的元存储管理员或用户。

查看提供程序

若要查看可用的数据提供者列表,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SHOW PROVIDERS SQL 命令。

所需权限:你必须是元存储管理员或拥有 USE PROVIDER 权限才能查看元存储中的所有提供者。 其他用户只能访问其拥有的提供者。

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击Catalog icon“目录”。
  2. 在左侧窗格中,展开“Delta Sharing”菜单并选择“与我共享”。
  3. 在“提供程序”选项卡上,查看所有可用的提供程序。

Sql

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。 (可选)将 <pattern> 替换为 LIKE 谓词

SHOW PROVIDERS [LIKE <pattern>];

Cli

使用 Databricks CLI 运行以下命令。

databricks unity-catalog providers list

查看提供程序详细信息

若要查看有关提供者的详细信息,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 DESCRIBE PROVIDER SQL 命令。

所需权限:元存储管理员、具有 USE PROVIDER 权限的用户,或提供者对象所有者。

详细信息包括:

  • 提供程序共享的共享(参阅查看提供程序与你共享的共享)。
  • 提供者的创建者、创建时间戳、注释和身份验证类型(TOKENDATABRICKS)。 TOKEN 表示使用 Delta Sharing 开放共享协议与你共享了数据的提供程序。 DATABRICKS 表示使用 Databricks 到 Databricks 共享协议与你共享了数据的提供程序。
  • 如果提供者使用 Databricks 到 Databricks 共享:提供者的 Unity Catalog 元存储的云、区域和元存储 ID。
  • 如果提供程序使用开放共享:接收者配置文件终结点,即托管 Delta Sharing 共享服务器的位置。

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击Catalog icon“目录”。
  2. 在左侧窗格中,展开“Delta Sharing”菜单并选择“与我共享”。
  3. 在“提供程序”选项卡上,查找并选择提供程序。
  4. 在“详细信息”选项卡上查看提供程序详细信息。

Sql

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

DESC PROVIDER <provider-name>;

Cli

使用 Databricks CLI 运行以下命令。

databricks unity-catalog providers get --name <provider-name>

查看提供程序与你共享的共享

若要查看提供者与你共享的共享,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SHOW SHARES IN PROVIDER SQL 命令。

所需权限:元存储管理员、具有 USE PROVIDER 权限的用户,或提供者对象所有者。

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击Catalog icon“目录”。
  2. 在左侧窗格中,展开“Delta Sharing”菜单并选择“与我共享”。
  3. 在“提供程序”选项卡上,选择你要查看其共享的提供程序。

Sql

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。 (可选)将 <pattern> 替换为 LIKE 谓词

SHOW SHARES IN PROVIDER [LIKE <pattern>];

Cli

使用 Databricks CLI 运行以下命令。

 databricks unity-catalog providers list-shares --name <provider-name>

更新提供程序(重命名、更改所有者、注释)

可以使用目录资源管理器、Databricks Unity Catalog CLI 或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 ALTER PROVIDER SQL 命令来修改 Unity Catalog 元存储中的提供者对象:

  • 重命名提供程序以修改用户在其 Databricks 界面中查看提供程序对象的方式。
  • 更改提供程序对象的所有者。
  • 添加或修改注释。

所需的权限:必须是元存储管理员或提供程序对象的所有者才能更新所有者。 必须是元存储管理员(或拥有 CREATE_PROVIDER 特权的用户)和提供程序所有者才能更新提供程序名称。 必须是所有者才能更新注释。 初始所有者是元存储管理员。

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击Catalog icon“目录”。
  2. 在左侧窗格中,展开“Delta Sharing”菜单并选择“与你共享”。
  3. 在“提供程序”选项卡上,查找并选择提供程序。
  4. 在详细信息页上,更新所有者、注释或提供程序名称。

Sql

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";

Cli

使用 Databricks CLI 运行以下命令。 请将 <provider-name> 替换为当前提供程序名称,并将 <new-provider-name> 替换为新名称。

databricks unity-catalog providers update --name <provider-name> /
                                    --new-name <new-provider-name> /
                                    --comment "<new comment>" /
                                    --owner <new-owner-name>

删除提供者

若要删除提供者,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 DROP PROVIDER SQL 命令。 必须是提供程序对象所有者才能删除提供程序。

删除某个提供程序后,你和组织中的用户(接收者)将不再可以访问该提供程序共享的数据。

所需的权限:提供程序对象所有者。

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击Catalog icon“目录”。
  2. 在左侧窗格中,展开“Delta Sharing”菜单并选择“与你共享”。
  3. 在“提供程序”选项卡上,查找并选择提供程序。
  4. 单击 Kebab menu kebab 菜单(也称为三点菜单),然后选择“删除”。
  5. 在确认对话框中,单击“删除”。

Sql

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

DROP PROVIDER [IF EXISTS] <provider-name>;

Cli

使用 Databricks CLI 运行以下命令。

databricks unity-catalog providers delete --name <provider-name>

如果操作成功,则不返回任何结果。