管理(数据接收者的)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 特权的元存储管理员或用户。

开始之前

若要管理 Azure Databricks 工作区中的提供程序,请执行以下操作:

  • 必须为 Unity Catalog 启用你的工作区。
  • 若要查看提供程序,你必须是元存储管理员,或者元存储管理员必须授予你 USE PROVIDER 权限。
  • 若要创建提供程序,你必须是元存储管理员,或者元存储管理员必须授予你 CREATE PROVIDER 权限。
  • 若要更新提供程序,你必须是提供程序对象的所有者并拥有 CREATE PROVIDER 权限。 有关详细信息,请参阅更新提供程序(重命名、更改所有者、评论)

因此,如果工作区已在没有元存储管理员的情况下创建,则必须先由 Azure Databricks 帐户管理员授予用户或组元存储管理员角色,然后你才能在 Azure Databricks 中使用提供程序对象。 请参阅自动启用 Unity Catalog(可选)分配元存储管理员角色

查看提供程序

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

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

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击 “目录”图标“目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”按钮>

  3. 在“与我共享的内容”选项卡上,查看所有可用的提供程序。

SQL

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

SHOW PROVIDERS [LIKE <pattern>];

CLI

使用 Databricks CLI 运行以下命令。

databricks 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 工作区中,单击 “目录”图标“目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”按钮>

  3. 在“与我共享的内容”选项卡上,查找并选择提供程序

SQL

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

DESC PROVIDER <provider-name>;

CLI

使用 Databricks CLI 运行以下命令。

databricks providers get <provider-name>

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

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

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

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击 “目录”图标“目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”按钮>

  3. 在“与我共享的内容”选项卡上,查找并选择提供程序

SQL

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

SHOW SHARES IN PROVIDER [LIKE <pattern>];

CLI

使用 Databricks CLI 运行以下命令。

 databricks providers list-shares <provider-name>

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

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

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

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

目录资源管理器

  1. 在 Azure Databricks 工作区中,单击 “目录”图标“目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”按钮>

  3. 在“与我共享的内容”选项卡上,查找并选择提供程序

  4. 在详细信息页上,更新所有者、注释或提供程序名称。

    若要重命名提供程序,请单击 Kebab 菜单 串形菜单,然后选择“重命名”。

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 providers update <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 工作区中,单击 “目录”图标“目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”按钮>

  3. 在“与我共享的内容”选项卡上,查找并选择提供程序

  4. 单击 Kebab 菜单 kebab 菜单并选择“删除”。

  5. 在确认对话框中,单击“删除”。

SQL

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

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

CLI

使用 Databricks CLI 运行以下命令。

databricks providers delete <provider-name>

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