本页介绍 Azure Databricks 上默认存储的概念,以及如何创建目录以及处理工作区的默认存储中的数据。
什么是默认存储?
默认存储是 Azure Databricks 帐户中的全托管存储位置。 默认存储用作 无服务器工作区中的常规工作区存储,但也用作无服务器功能的托管存储位置,例如 矢量搜索。
如果您的工作区是无服务器的,则默认会为其配置默认存储,使您可以在无需连接云存储账户的情况下创建管理表和存储卷。
要求
默认存储仅在无服务器工作区中可用。 仅在为 无服务器工作区 预览启用帐户的情况下,才可在默认存储上创建目录。
创建具有默认存储的目录
注释
默认情况下,只能从创建默认存储的工作区访问使用默认存储的目录。 可以授予其他工作区访问权限,但它们必须使用无服务器计算访问目录中的数据。 请参阅将目录访问限制到特定工作区。
必须具有 CREATE CATALOG 创建具有默认存储的目录的权限。 请参阅 Unity Catalog 特权和安全对象。
完成以下步骤,使用默认存储创建新目录:
- 点击边栏中的
目录。 此时会显示目录资源管理器。
- 单击“创建目录”。 此时会显示 “创建新目录 ”对话框。
- 提供帐户中唯一的 目录名称 。
- 选择“ 使用默认存储”选项。
- 单击 “创建” 。
在无服务器工作区中,还可以使用以下 SQL 命令在默认存储中创建新目录。 无需指定目录的位置。
CREATE CATALOG [ IF NOT EXISTS ] catalog_name
[ COMMENT comment ]
使用默认存储
与默认存储的所有交互都需要无服务器且已启用 Unity 目录的计算。
默认情况下,存储支持的资源使用与 Unity 目录中其他对象相同的特权模型。 必须具有足够的权限才能创建、查看、查询或修改数据对象。 请参阅 Unity Catalog 特权和安全对象。
通过创建托管表和托管卷并与默认存储支持的托管卷进行交互,可以处理默认存储。 请参阅 Azure Databricks for Delta Lake 和 Apache Iceberg 中的 Unity 目录托管表以及什么是 Unity 目录卷?
可以使用目录资源管理器、笔记本、SQL 编辑器和仪表板与默认存储中存储的数据对象进行交互。
示例任务
下面是可以使用默认存储完成的任务示例:
- 将本地文件上传到托管卷或创建托管表。 请参阅 将文件上传到 Unity 目录卷 , 并使用文件上传创建或修改表。
- 使用笔记本查询数据。 请参阅 教程:从笔记本查询和可视化数据。
- 创建仪表板。 请参阅 “创建仪表板”。
- 使用 SQL 查询数据并计划 SQL 查询。 请参阅 “写入查询”,并浏览新 SQL 编辑器中的数据。
- 将数据从外部卷引入到托管表。 请参阅 将自动加载程序与 Unity 目录配合使用。
- 使用 Fivetran 将数据引入托管表。 请参阅 “连接到 Fivetran”。
- 使用 BI 工具浏览托管表。 请参阅 使用 Azure Databricks 连接 Tableau 和 Azure Databricks 和 Power BI。
- 运行无服务器笔记本。 请参阅适用于笔记本的无服务器计算。
- 运行无服务器作业。 请参阅 使用适用于工作流的无服务器计算运行 Lakeflow 作业。
- 运行提供终结点的模型。 请参阅使用 Mosaic AI 模型服务部署模型。
- 运行无服务器 Lakeflow 声明性管道。 请参阅 配置无服务器管道。
- 对表使用预测优化。 请参阅 Unity Catalog 托管表的预测优化。
局限性
以下限制适用:
- 经典计算(任何非无服务器计算)都无法与默认存储中的数据资产进行交互。
- Delta 共享支持将表共享到任何收件人(开放或 Azure Databricks),收件人可以使用经典计算来访问共享表(Beta 版)。 在帐户控制台中启用 默认存储的增量共享 - 扩展访问 功能。
- 以下区域不支持此功能:
southcentralusuksouth和westus2。
- 所有其他可共享资产只能与同一云上的 Azure Databricks 收件人共享。 收件人必须使用无服务器计算。
- 以下区域不支持此功能:
- 启用了分区的表不能共享 Delta。
- 外部读取器和编写器无法访问默认存储。
- 不能使用
CREATE CATALOG catalog_nameSQL 命令在默认存储上创建新目录。 - 默认存储不支持前端专用链接。 不支持从外部客户端提取云等功能。