Databricks 中的默认存储

本页介绍 Azure Databricks 上默认存储的概念,以及如何创建目录以及处理工作区的默认存储中的数据。

什么是默认存储?

默认存储是 Azure Databricks 帐户中的全托管存储位置。 默认存储用作 无服务器工作区中的常规工作区存储,但也用作无服务器功能的托管存储位置,例如 矢量搜索

如果您的工作区是无服务器的,则默认会为其配置默认存储,使您可以在无需连接云存储账户的情况下创建管理表和存储卷。

要求

默认存储仅在无服务器工作区中可用。 仅在为 无服务器工作区 预览启用帐户的情况下,才可在默认存储上创建目录。

创建具有默认存储的目录

注释

默认情况下,只能从创建默认存储的工作区访问使用默认存储的目录。 可以授予其他工作区访问权限,但它们必须使用无服务器计算访问目录中的数据。 请参阅将目录访问限制到特定工作区

必须具有 CREATE CATALOG 创建具有默认存储的目录的权限。 请参阅 Unity Catalog 特权和安全对象

完成以下步骤,使用默认存储创建新目录:

  1. 点击边栏中的“数据”图标目录。 此时会显示目录资源管理器。
  2. 单击“创建目录”。 此时会显示 “创建新目录 ”对话框。
  3. 提供帐户中唯一的 目录名称
  4. 选择“ 使用默认存储”选项。
  5. 单击 “创建”

在无服务器工作区中,还可以使用以下 SQL 命令在默认存储中创建新目录。 无需指定目录的位置。

CREATE CATALOG [ IF NOT EXISTS ] catalog_name
    [ COMMENT comment ]

使用默认存储

与默认存储的所有交互都需要无服务器且已启用 Unity 目录的计算。

默认情况下,存储支持的资源使用与 Unity 目录中其他对象相同的特权模型。 必须具有足够的权限才能创建、查看、查询或修改数据对象。 请参阅 Unity Catalog 特权和安全对象

通过创建托管表和托管卷并与默认存储支持的托管卷进行交互,可以处理默认存储。 请参阅 Azure Databricks for Delta Lake 和 Apache Iceberg 中的 Unity 目录托管表以及什么是 Unity 目录卷?

可以使用目录资源管理器、笔记本、SQL 编辑器和仪表板与默认存储中存储的数据对象进行交互。

示例任务

下面是可以使用默认存储完成的任务示例:

局限性

以下限制适用:

  • 经典计算(任何非无服务器计算)都无法与默认存储中的数据资产进行交互。
  • Delta 共享支持将表共享到任何收件人(开放或 Azure Databricks),收件人可以使用经典计算来访问共享表(Beta 版)。 在帐户控制台中启用 默认存储的增量共享 - 扩展访问 功能。
    • 以下区域不支持此功能: southcentralusuksouthwestus2
    • 所有其他可共享资产只能与同一云上的 Azure Databricks 收件人共享。 收件人必须使用无服务器计算。
  • 启用了分区的表不能共享 Delta。
  • 外部读取器和编写器无法访问默认存储。
  • 不能使用 CREATE CATALOG catalog_name SQL 命令在默认存储上创建新目录。
  • 默认存储不支持前端专用链接。 不支持从外部客户端提取云等功能。