本页介绍 Azure Databricks 上的默认存储的工作原理,以及如何创建使用该存储的目录和数据对象。
什么是默认存储?
默认存储是一个完全托管的对象存储平台,用于在 Azure Databricks 帐户中提供现成的存储。 某些 Azure Databricks 功能使用默认存储作为外部存储的替代方法。
无服务器工作区使用默认存储来进行内部和工作区的存储,以及为工作区创建的默认目录。 在无服务器工作区中,可以在默认存储或自己的 云对象存储中创建其他目录。
在经典工作区和无服务器工作区中,默认存储由功能用来存储控制平面元数据、派生数据、模型和其他项目等内容。 例如, 清理室、 数据分类、 异常情况检测和 代理砖块 都使用工作区的默认存储。 有关每个功能存储在默认存储上的详细信息,请参阅各个功能文档。
要求
- 在默认存储上创建目录仅适用于 无服务器工作区 (公共预览版)。
- 默认情况下,只能从创建默认存储的工作区访问使用默认存储的目录。 可以授予其他工作区访问权限,包括经典工作区,但它们必须使用无服务器计算访问目录中的数据。 请参阅将目录访问限制到特定工作区。
- 必须具有
CREATE CATALOG创建具有默认存储的目录的权限。 请参阅 Unity Catalog 特权和安全对象。 - 如果客户端使用 Azure Databricks ODBC 驱动程序从防火墙后面访问默认存储目录,则必须将防火墙配置为允许访问 Azure Databricks 区域存储网关。 有关默认存储的 IP 和域名详细信息,请参阅 Azure Databricks 服务和资产的 IP 地址和域。
“创建新目录”
完成以下步骤,使用默认存储创建新目录:
- 点击边栏中的
目录。 此时会显示目录资源管理器。
- 单击“创建目录”。 此时会显示 “创建新目录 ”对话框。
- 提供帐户中唯一的 目录名称 。
- 选择“ 使用默认存储”选项。
- 单击 “创建” 。
在无服务器工作区中,还可以使用以下 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 Spark 声明式管道。 请参阅 配置无服务器管道。
- 对表使用预测优化。 请参阅 Unity Catalog 托管表的预测优化。
局限性
以下限制适用:
- 经典计算(任何非无服务器计算)都无法与默认存储中的数据资产进行交互。
- Delta 共享支持将表共享到任何收件人(开放或 Azure Databricks),收件人可以使用经典计算来访问共享表(Beta 版)。 在帐户控制台中启用 默认存储的增量共享 - 扩展访问 功能。
- 以下区域不支持此功能:
southcentralusuksouth和westus2。
- 所有其他可共享资产只能与同一云上的 Azure Databricks 收件人共享。 收件人必须使用无服务器计算。
- 以下区域不支持此功能:
- 启用了分区的表不能共享 Delta。
- 外部 Iceberg 和 Delta 客户端无法直接访问默认存储上 UC 表的基础元数据、清单列表和数据文件(不支持 FileIO 访问)。 但是,Power BI 和 Tableau 等 BI 工具可以使用 ODBC 和 JDBC 驱动程序访问默认存储上的 Unity 目录表。 外部客户端还可以使用文件 API 访问默认存储上的 Unity 目录卷。
- 默认存储支持通过 Azure Databricks ODBC 和 JDBC 驱动程序进行外部访问,包括 ODBC 驱动程序的 Cloud Fetch 性能优化,用于查询大型数据集。 但是,如果要从启用了前端专用链接的工作区访问默认存储表,则 ODBC 客户端查询大于 100 MB 将失败,因为默认存储表的 Cloud Fetch 优化目前不支持前端专用链接。