使用增量共享 Databricks 到 Databricks 共享协议(适用于提供者)来共享数据

本文概述如何使用 Databricks 到 Databricks Delta Sharing 与任何 Databricks 用户安全共享数据,而不管帐户或云主机是什么,但前提是该用户有权访问启用了 Unity Catalog 的工作区。

注意

如果你是数据接收者(正在与其共享 Databricks 数据的用户或用户组),请参阅使用增量共享访问与你共享的数据(适用于接收者)

谁应使用 Databricks 到 Databricks Delta Sharing?

有三种使用 Delta Sharing 共享数据的方法。

  1. 本文中的 Databricks 到 Databricks 共享协议允许你与用户共享已启用 Unity 目录的工作区中的数据,这些用户也有权访问已启用 Unity 目录的 Databricks 工作区。

    此方法使用内置于 Azure Databricks 中的 Delta Sharing 服务器,并为提供者和接收者提供笔记本共享、Unity 目录数据治理、审核和使用情况跟踪相关支持。 与 Unity 目录的集成简化了提供者和接收者的设置和治理,并提高了性能。

  2. Databricks 开放共享协议允许你与任何计算平台上的用户共享在已启用 Unity 目录的 Databricks 工作区中所管理的数据。

    请参阅使用 Delta Sharing 开放共享协议(适用于提供者)来共享数据

  3. 开源 Delta Sharing 服务器的客户管理的实现,它让你能够在任何平台之间进行共享(无论是否是 Databricks)。

    请参阅 github.com/delta-io/delta-sharing

有关 Delta Sharing 的简介以及这三种方法的相关详细信息,请参阅使用 Delta Sharing 安全地共享数据和 AI 资产

Databricks 到 Databricks Delta Sharing 工作流

本部分提供 Databricks 到 Databricks 共享工作流的概要概述,并提供每个步骤的详细文档链接。

在 Databricks 到 Databricks Delta Sharing 模型中:

  1. 数据接收者为数据提供程序提供 Databricks Unity Catalog 元存储的唯一共享标识符,该元存储已附加到供接收者(代表用户或用户组)用来访问数据提供程序所共享的数据的 Databricks 工作区。

    有关详细信息,请参阅步骤 1:请求接收者的共享标识符

  2. 数据提供程序在提供程序的 Unity Catalog 元存储中创建一个共享。 此命名对象包含在元存储中注册的表、视图、卷和笔记本的集合。

    有关详细信息,请参阅创建和管理 Delta Sharing 的共享

  3. 数据提供程序在提供程序的 Unity Catalog 元存储中创建一个接收者对象。 此命名对象表示要访问共享中包含的数据的用户或用户组,以及 Unity Catalog 元存储的共享标识符,该元存储已附加到供用户或用户组用来访问该共享的工作区。 共享标识符是启用安全连接的关键标识符。

    有关详细信息,请参阅步骤 2:创建接收者

  4. 数据提供程序为接收者授予对共享的访问权限。

    有关详细信息,请参阅授予和管理对增量共享数据共享的访问权限(适用于提供者)

  5. 该共享在接收者的 Databricks 工作区中可用,用户可以使用目录资源管理器和 Databricks CLI 来访问它,也可以通过在 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中使用 SQL 命令来访问它。

    要访问共享中的表、视图、卷和笔记本,元存储管理员或特权用户必须从共享创建目录。 然后,该用户或其他被授予相应特权的用户可以向其他用户授予对目录中的目录和对象的访问权限。 授予对共享目录和数据资产的权限的工作方式与对待 Unity Catalog 中注册的任何其他资产一样,重要的区别是,用户只能被授予从 Delta Sharing 共享创建的目录中的对象的读取访问权限。

    共享笔记本位于目录级别,对目录具有 USE CATALOG 权限的任何用户都可以访问它们。

    有关详细信息,请参阅读取使用 Databricks 到 Databricks 增量共享来共享的数据(适用于接收者)