什么是 OpenSharing Databricks 到 Databricks 协议?

本页概述了如何使用 Databricks-to-Databricks OpenSharing,与任何 Databricks 用户安全地共享数据,无论其账户或云平台为何,只要该用户可以访问已启用 Unity Catalog 的工作区。

谁应该使用 Databricks 到 Databricks OpenSharing?

可通过三种方法使用 OpenSharing 共享数据。

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

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

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

    请参阅什么是 OpenSharing Databricks 到 Open 共享协议?

  3. 开源 OpenSharing 服务器的由客户管理的部署让您能够在任意平台之间共享,无论是否为 Databricks。

    请参阅 开放源代码 项目

有关 OpenSharing 的简介和有关这三种方法的详细信息,请参阅 什么是 OpenSharing?

Databricks 到 Databricks OpenSharing 工作流

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

在 Databricks 到 Databricks OpenSharing 模型中:

  1. 数据接收者为数据提供者提供一个用于访问其共享数据的 Databricks Unity Catalog 元存储的唯一共享标识符。该标识符附加在接收者将用于访问数据的 Databricks 工作区上,此接收者可以是用户或用户组。

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

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

    有关详细信息,请参阅 为 OpenSharing 创建共享

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

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

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

    有关详细信息,请参阅 管理对 OpenSharing 数据共享(对于提供程序)的访问权限

  5. 共享在收件人的 Databricks 工作区中可用,收件人可以使用目录资源管理器、Databricks CLI 或 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SQL 命令访问它。

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

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

    有关详细信息,请参阅 读取使用 Databricks 到 Databricks OpenSharing 共享的数据(面向接收方)

通过历史记录共享提高表读取性能

Databricks 与 Databricks 之间的表共享通过启用历史记录共享可以改善性能。 共享历史记录通过利用云存储中的临时安全凭证(范围限定为提供程序的共享 Delta 表的根目录)来提高性能,从而使性能与直接访问源表相当。

  • 对于新表共享,请在创建表共享时指定 WITH HISTORY。 请参阅添加表格到共享。 在 Databricks Runtime 16.2 及更高版本上使用计算共享表时,WITH HISTORY 是默认值。
  • 对于现有表共享,必须更改共享以共享表历史记录。 请参阅更新共享。 在 Databricks Runtime 16.2 及更高版本上使用计算共享表时,WITH HISTORY 是默认值。

共享整个架构时,架构中的所有表默认与历史记录共享。

注释

启用了分区的表不会获得历史记录共享的性能优势。 请参阅指定要共享的表分区

有关云令牌资格要求和数据隐私注意事项,请参阅 云令牌资格

云环境中 Databricks 与 Databricks 之间的 OpenSharing 支持矩阵

Databricks 到 Databricks OpenSharing 支持在同一环境类型中进行共享。 商业云包括启用了符合性控制(例如 FedRAMP Moderate)的工作区。 不支持与 Azure 政府 环境共享内容。

Important

跨监管域共享处于封闭 公共预览状态。 请联系您的 Databricks 客户团队以开始使用。

在此矩阵中,每一行表示提供程序环境(元存储共享数据),每列表示收件人环境(元存储接收共享数据)。

供应商 接收者:商业云 收件人:AWS GovCloud 收件人:AWS GovCloud DoD 收件人:Azure 中国
商业云
AWS GovCloud
AWS GovCloud DoD
Azure 中国

局限性

以下限制适用于跨监管域共享:

  • 云令牌均会被使用,除非共享跨入或跨出 AWS GovCloud 或 AWS GovCloud DoD。 在以下情况下,则改为通过预签名 URL 共享表格:
    • 商业云向 AWS GovCloud 或 AWS GovCloud DoD 共享资源,或从 AWS GovCloud 或 AWS GovCloud DoD 接收共享资源。
    • AWS GovCloud 和 AWS GovCloud DoD 彼此共享。