本文提供 Azure Databricks 体系结构的简要概述,包括其与 Azure 相结合的企业体系结构。
Databricks 对象
Azure Databricks 帐户 是用于在整个组织中管理 Azure Databricks 的顶级构造。 在帐户级别,您可以管理:
- 标识和访问权限:用户、组、服务主体和用户预配。
工作区管理:跨多个区域创建、更新和删除工作区。
Unity Catalog 元数据存储管理:创建元数据存储并将其链接到工作区。
使用情况管理:计费、合规性和策略。
账户可以包含多个工作区和 Unity Catalog 元数据存储。
工作区 是用户运行计算工作负载(例如引入、交互式浏览、计划作业和 ML 训练)的协作环境。
Unity 目录元存储 是数据资产(如表和 ML 模型)的中心管理系统。 在三级命名空间下组织元存储中的数据:
<catalog-name>.<schema-name>.<object-name>
元存储附加到工作区。 可以将单个元存储链接到同一区域中的多个 Azure Databricks 工作区,为每个工作区提供相同的数据视图。 可在所有链接工作区中管理数据访问控制。
工作区体系结构
Azure Databricks 在控制平面和计算平面上运行。
控制平面包括 Azure Databricks 在 Azure Databricks 帐户中管理的后端服务。 控制平面位于 Azure Databricks 帐户中,而不是云帐户。 该 Web 应用程序位于控制平面中。
计算平面是处理数据的位置。 根据所使用的计算,存在两种类型的计算平面。
- 对于无服务器计算,无服务器计算资源在 Azure Databricks 帐户的无服务器计算平面中运行。
- 对于经典 Azure Databricks 计算,计算资源位于 Azure 订阅中的经典计算平面。 这是指 Azure 订阅及其资源中的网络。
若要详细了解经典计算和无服务器计算,请参阅 “计算”。
经典工作区体系结构
注释
经典工作区在 Azure 门户中称为 混合工作区 。
经典 Azure Databricks 工作区具有称为 工作区存储帐户的关联存储帐户。 工作区存储帐户位于 Azure 订阅中。
下图描述了经典工作区的一般 Azure Databricks 体系结构。
无服务器工作区体系结构
无服务器工作区中的工作区存储存储在工作区的默认存储中。 还可以连接到云存储帐户以访问数据。 下图描述了无服务器工作区的一般体系结构。
无服务器计算平面
在无服务器计算平面中,Azure Databricks 计算资源在你的 Azure Databricks 帐户内的计算层中运行。 Azure Databricks 在工作区经典计算平面所在的同一 Azure 区域中创建无服务器计算平面。 需要在创建工作区时选择此区域。
为保护无服务器计算平面内的客户数据,无服务器计算在工作区的网络边界内运行,提供各种安全层来隔离不同的 Azure Databricks 客户工作区,并在同一客户的群集之间提供额外的网络控制。
若要详细了解无服务器计算平面中的网络,请参阅无服务器计算平面网络。
经典计算平面
在经典计算平面中,Azure Databricks 计算资源在你的 Azure 订阅中运行。 新的计算资源是在客户的 Azure 订阅中每个工作区的虚拟网络中创建的。
经典计算平面具有自然隔离,因为它在每个客户自己的 Azure 订阅中运行。 若要详细了解经典计算平面中的网络,请参阅经典计算平面网络。
有关区域支持,请参阅 Azure Databricks 区域。
工作区存储
工作区存储的处理方式因工作区类型而异。 有关工作区类型的详细信息,请参阅 “创建工作区”。
工作区存储包含两类数据:工作区文件系统数据和工作区系统数据。 两者都与你自己的数据对象(例如 Unity Catalog 表和存储卷)分开。
工作区文件系统数据
工作区文件系统存储用户通过 Azure Databricks UI 创建和管理的资产。 这些包括:
- Notebooks
- SQL 查询和仪表板
- 警报
- 存储库(关联到 Git 存储库的文件夹)
- 库 (
.whl,.jar) - Python 文件、YAML 配置文件和其他小文件
有关工作区文件的详细信息,请参阅什么是工作区文件? 有关工作区资产的完整列表,请参阅 工作区对象简介。
工作区系统数据
每个 Azure Databricks 工作区还会存储 Azure Databricks 功能在内部生成的系统数据。 此数据太大,无法存储在内存或数据库中,或者需要保留超出单个计算资源的生存期。 工作区系统数据的示例包括:
- SQL 查询结果和缓存的查询结果
- 作业运行结果
- 笔记本修订
- 用于可观测性的 SQL 查询计划
- 群集日志
有关如何为每个工作区类型配置工作区存储的详细信息,请参阅以下部分。
无服务器工作区
无服务器工作区使用默认存储,这是内部工作区系统数据和 Unity 目录数据资产的完全托管存储位置。 无服务器工作区还支持连接到用于存储目录、表和其他数据资产的云存储位置。 请参阅 Databricks 中的默认存储。
经典工作区
重要
请勿删除或修改云帐户中的工作区存储。 Azure Databricks 工作区依赖于其控制平面数据库和工作区存储,以便正确操作。 如果删除工作区存储,则无法恢复工作区。
在经典工作区中,工作区系统数据不同于 什么是 DBFS?。 尽管两者可能驻留在经典工作区中的同一个云存储帐户中,但它们提供不同的用途。 DBFS 根目录是用户可访问的文件系统,而工作区系统数据由 Azure Databricks 功能在内部使用。
工作区存储帐户包含:
- 工作区系统数据:Azure Databricks 功能生成的内部数据
- Unity Catalog工作区目录:如果工作区自动启用Unity Catalog,则工作区存储帐户包含默认工作区目录。 工作区中的所有用户都可以在此目录的默认架构中创建资产。 请参阅 Unity 目录入门。
- DBFS(遗留版):DBFS 根目录和 DBFS 挂载点属于遗留版,可能在工作区中被禁用。 DBFS (Databricks 文件系统)是在命名空间下可访问的
dbfs:/Azure Databricks 环境中的分布式文件系统。 DBFS 根和 DBFS 装载都位于dbfs:/命名空间中。 使用 DBFS 根或 DBFS 装载存储和访问数据是已弃用的模式,Databricks 不建议这样做。 有关详细信息,请参阅什么是 DBFS?。
要限制仅从授权的资源和网络访问工作区存储帐户的权限,请参阅为工作区存储帐户启用防火墙支持。