为您的账户设置 OpenSharing(适用于提供商)

本页介绍数据提供方(希望使用 OpenSharing 安全共享数据的组织)如何在 Azure Databricks 上设置 OpenSharing。

如果你是数据接收方(接收通过 OpenSharing 共享的数据的组织),请参阅读取通过 Databricks-to-Databricks OpenSharing 共享的数据(面向接收方)

Important

OpenSharing 需要启用 Unity 目录的工作区。 可以创建一个启用了 Unity Catalog 的工作区进行共享管理。 在某些帐户中,会自动为 Unity Catalog 启用新工作区。 请参阅 Unity 目录入门

如果创建新的启用了 Unity 目录的工作区不是一个选项,则可以使用 开源 OpenSharing 项目部署自己的 OpenSharing 服务器,以从任何平台共享 Delta 表。

初始提供程序设置包括以下步骤:

  1. 在 Unity Catalog 元存储上启用 OpenSharing。

  2. (可选)安装 Unity Catalog CLI。

  3. 授予创建和管理共享和收件人的权限。

  4. 配置数据物化的生存周期(TTL)。

  5. 配置存储网络访问。

要求

作为数据提供者,为了将您的 Azure Databricks 帐户设置为能够共享数据,您必须具备:

在元存储上启用 OpenSharing

如果打算仅使用 OpenSharing 与帐户中的其他 Unity 目录元存储上的用户共享数据,则无需在元存储上启用 OpenSharing。 默认情况下,在单个 Azure Databricks 帐户中启用元存储到元存储共享。

否则,请对每个管理着你计划使用 OpenSharing 共享的数据的 Unity Catalog 元存储执行以下步骤。

  1. 以 Azure Databricks 帐户管理员身份登录到帐户控制台

  2. 在边栏中,单击 “数据”图标。目录

  3. 单击一个元数据存储的名称以打开其详细信息。

  4. 单击 “允许与组织外部各方共享”旁边的复选框。

  5. 配置接收者令牌生存期。

    此配置设定了所有接收者令牌在多长时间后会过期并必须重新生成。 接收方令牌仅用于 Databricks 到 Open 的共享 协议中。 令牌在创建后最多一年有效。

    注释

    更改元存储的默认收件人令牌生存期时,现有收件人的收件人令牌生存期不会自动更新。 若要为给定的收件人应用新的令牌生存期,必须轮换其令牌。 请参阅 “管理收件人令牌”。

    设置默认收件人令牌生存期:

    1. 确认“设置过期”已启用(这是默认设置)。

    2. 输入秒数、分钟数、小时数或天数,然后选择度量单位。 令牌在创建后最多一年有效。

    3. 单击 “启用”

    有关详细信息,请参阅令牌安全注意事项

  6. 与不在帐户中的 Azure Databricks 收件人共享时,请输入 组织名称

    注释

    指定可读组织名称有助于收件人识别其共享提供程序和收件人提供商列表中的相应提供程序对象。

  7. 单击 “启用”

(可选)安装 Unity Catalog CLI

若要管理共享和收件人,可使用目录资源管理器、SQL 命令或 Unity Catalog CLI。 CLI 在本地环境中运行,不需要 Azure Databricks 计算资源。

若要安装 CLI,请参阅 Databricks CLI

授予创建和管理共享和接收者的权限

元存储管理员能够创建和管理共享和收件人,包括向收件人授予共享。 元存储管理员可以通过以下权限将许多提供者的任务委托出去:

  • 元存储上的 CREATE SHARE 授予创建共享的权限。
  • 元存储上的 CREATE RECIPIENT 授予创建接收者的权利。
  • 元存储上的 USE RECIPIENT 授予列出和查看元存储中所有接收者的详细信息的权利。
  • 元存储上的 USE SHARE 授予列出和查看元存储中所有共享的详细信息的权利。
  • USE RECIPIENTUSE SHARE,SET SHARE PERMISSION 组合在一起使用户能够向接收者授予共享访问权限。
  • 元存储管理员能够转移任何共享的所有权。
  • 共享和接收者方所有者可以更新这些对象并向接收者授予分享权限。 默认情况下,对象创建者会被授予所有权,但所有权可以转让。
  • 共享所有者可以向共享中添加表和卷,只要他们拥有对表的SELECT访问权限和对卷的READ VOLUME访问权限。

有关详情,请参阅Unity Catalog 权限参考以及上述 OpenSharing 任务所列出的权限。

配置数据物化 TTL

作为 Azure Databricks 帐户或元存储管理员,您可以配置数据物化的 TTL,这决定了物化结果的缓存时长。 当接收者查询共享的动态视图、物化视图、流表和外部表时,会发生物化。 默认情况下,TTL 为 8 小时。 缓存本身将在另外三小时后被物化处理后逐出,为现有查询提供额外时间以完成。

若要更改此值,请执行以下作:

  1. 在 Azure Databricks 工作区中,单击 Data icon.Catalog打开目录资源管理器。

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

    或者,在右上角,单击“ 共享 > OpenSharing”。

  3. 在“ 与我共享 ”选项卡上,单击右上角的组织名称。

  4. 单击右上 齿轮图标。 齿轮图标。

  5. 对于 具体化 TTL,请输入所需的 TTL 值。

允许网络访问存储

如果您的基础云存储配置了访问控制,请将收件人的网络添加到允许列表,以便他们可以读取共享表。

后续步骤