Azure Databricks 概念

本文介绍为有效地使用 Azure Databricks,你需要了解的一组基本概念。

帐户和工作区

在 Azure Databricks 中,工作区是云中的 Azure Databricks 部署,它充当一个环境,可供团队用来访问 Databricks 资产。 组织可以根据需求选择使用多个工作区或只使用一个工作区。

Azure Databricks 帐户表示可以包含多个工作区的单个实体。 为 Unity Catalog 启用的帐户可用于管理用户及其对帐户中所有工作区的数据的集中访问。

计费:Databricks 单位 (DBU)

Azure Databricks 基于 Databricks 单位 (DBU) 计费,DBU 是每小时处理能力的单位(基于 VM 实例类型)。

请参阅 Azure Databricks 定价页

身份验证和授权

本部分介绍管理 Azure Databricks 标识及其对 Azure Databricks 资产的访问时需要了解的概念。

用户

有权访问系统的唯一个人。 用户标识由电子邮件地址表示。 请参阅管理用户

服务主体

用于作业、自动化工具和系统(例如脚本、应用和 CI/CD 平台)的服务标识。 服务主体由应用程序 ID 表示。 请参阅管理服务主体

标识集合。 组简化了标识管理,使分配对工作区、数据和其他安全对象的访问权限变得更加容易。 所有 Databricks 标识都可以被分配为组的成员。 请参阅管理组

访问控制列表 (ACL)

附加到工作区、群集、作业、表或试验的权限的列表。 ACL 指定向哪些用户或系统进程授予对对象的访问权限,以及允许对资产执行哪些操作。 典型 ACL 中的每个条目都指定主题和操作。 请参阅访问控制列表

个人访问令牌

使用一个不透明字符串对 REST API 进行身份验证,并使用技术合作伙伴的工具连接到 SQL 仓库。 请参阅 Azure Databricks 个人访问令牌身份验证

Microsoft Entra ID(以前称为 Azure Active Directory)令牌也可用于对 REST API 进行身份验证。

UI

Azure Databricks UI 是一个图形界面,用于与工作区文件夹及其包含的对象、数据对象和计算资源等功能进行交互。

数据科学与工程

数据科学与工程工具可帮助数据科学家、数据工程师和数据分析师相互协作。 本部分介绍基本概念。

工作区

工作区是用于访问所有 Azure Databricks 资产的环境。 工作区将对象(笔记本、库、仪表板和试验)组织成文件夹,并提供对数据对象和计算资源的访问。

笔记本

基于 Web 的界面,用于创建可以包含可运行的命令、可视化效果和叙述文本的数据科学与机器学习工作流。 请参阅 Databricks 笔记本简介

仪表板

以有组织的方式访问可视化效果的的接口。 请参阅笔记本中的仪表板

可对群集上运行的笔记本或作业使用的代码包。 Databricks 运行时包含许多,你也可以添加自己的库。

存储库

一个文件夹,其内容通过同步到远程 Git 存储库来一起进行共同版本控制。 Databricks Repos 与 Git 集成,为项目提供源代码和版本控制。

试验

MLflow 运行的集合,用于训练机器学习模型。 请参阅使用 MLflow 试验组织训练运行

Azure Databricks 接口

本部分介绍除了 UI 之外,Azure Databricks 支持的用于访问资产的接口:API 和命令行 (CLI)。

REST API

Databricks 提供工作区帐户的 API 文档。

CLI

此开放源代码项目承载在 GitHub 上。 CLI 在 Databricks REST API 基础上构建。

数据管理

本部分介绍用于保存数据的对象,将对这些数据执行分析并将其馈送到机器学习算法中。

Databricks 文件系统 (DBFS)

blob 存储区之上的文件系统抽象层。 它包含目录,其中可以包含文件(数据文件、库和图像)和其他目录。 系统会自动使用某些可用来了解 Azure Databricks 的数据集来填充 DBFS。 请参阅什么是 Databricks 文件系统 (DBFS)?

数据库

在组织方式上可让用户轻松访问、管理和更新的数据对象(例如表、视图和函数)集合。 请参阅什么是数据库?

结构化数据的表示形式。 利用 Apache Spark SQL 和 Apache Spark API 查询表。 请参阅什么是表?

Delta 表

默认情况下,在 Azure Databricks 中创建的所有表都是 Delta 表。 Delta 表基于 Delta Lake 开源项目,该项目是基于云对象存储的高性能 ACID 表存储的框架。 Delta 表将数据存储为云对象存储中的文件目录,并将表元数据注册到目录和架构中的元存储。

详细了解品牌名称中包含“Delta”的技术

元存储

用于存储数据仓库中各种表和分区的所有结构信息的组件,包括列和列类型信息、读取和写入数据所需的序列化器和去序列化器,以及用于存储数据的相应文件。 请参阅什么是元存储?

每个 Azure Databricks 部署都有一个中心 Hive 元存储,供所有需要保存表元数据的群集访问。 也可以选择使用现有的外部 Hive 元存储

可视化效果

运行查询的结果的图形表示形式。 请参阅 Databricks 笔记本中的可视化效果

计算管理

本部分介绍在 Azure Databricks 中运行计算时需要了解的概念。

群集

用于运行笔记本和作业的一组计算资源和配置。 有两种类型的群集:通用和作业。 请参阅计算

  • 使用 UI、CLI 或 REST API 创建通用群集。 可手动终止和重启通用群集。 多个用户可以共享此类群集,以协作的方式执行交互式分析。
  • 当你在新的作业群集上运行作业时,Azure Databricks 作业计划程序将创建一个作业群集,并在作业完成时终止该群集 。 无法重启作业群集。

一组空闲的随时可用的实例,可减少群集启动和自动缩放时间。 附加到池时,群集会从池中分配其驱动程序节点和工作器节点。 请参阅池配置参考

如果池中没有足够的空闲资源来满足群集的请求,则池会通过从实例提供程序分配新的实例进行扩展。 终止附加的群集后,它使用的实例会返回到池中,可供其他群集重复使用。

Databricks Runtime

核心组件集,可在 Azure Databricks 管理的群集上运行。 请参阅计算。* Azure Databricks 具有以下运行时:

  • Databricks Runtime 包括 Apache Spark,但还添加了许多可以显著提高大数据分析可用性、性能和安全性的组件与更新。
  • 用于机器学习的 Databricks Runtime 建立在 Databricks Runtime 基础之上,提供与所有 Azure Databricks 工作区功能集成的预建机器学习基础结构。 它包含多个流行库,其中包括 TensorFlow、Keras、PyTorch 和 XGBoost。

工作流

用于开发和运行数据处理管道的框架:

  • 作业:可立即或按计划运行笔记本或库的非交互式机制。
  • 增量实时表:一个框架,用于生成可靠、可维护且可测试的数据处理管道。

请参阅 Azure Databricks 工作流简介

工作负荷

Azure Databricks 标识了定价方案不同的两种类型的工作负载:数据工程(作业)和数据分析(通用)。

  • 数据工程(自动)工作负载在 Azure Databricks 作业计划程序为每个工作负载创建的工作群集上运行。
  • 数据分析(交互式)工作负载在通用群集上运行。 交互式工作负载通常在 Azure Databricks 笔记本内运行命令。 但是,在现有通用群集上运行作业也被视为交互式工作负载 。

执行上下文

每种受支持编程语言的读取-评估-打印循环 (REPL) 环境的状态。 支持的语言包括 Python、R、Scala 和 SQL。

机器学习

Azure Databricks 上的机器学习是一个集成式端到端环境,其中整合了用于试验跟踪、模型训练、特征开发和管理以及特征与模型传送的托管服务。

试验

组织的主要单位,用于跟踪机器学习模型的开发。 请参阅使用 MLflow 试验组织训练运行。 试验可组织、显示和控制对单独记录的模型训练代码运行的访问。

功能存储

集中式的功能存储库。 请参阅什么是特征存储?特征存储能够在组织内实现特征共享和发现,还可以确保将相同的特征计算代码用于模型训练和推理。

模型和模型注册表

已在模型注册表中注册了的经过训练的机器学习或深度学习模型

SQL

SQL REST API

使你能够在 SQL 对象上自动执行任务的界面。 请参阅 SQL API

仪表板

数据可视化效果和注释的表示形式。 请参阅 Databricks SQL 仪表板

SQL 查询

本部分介绍在 Azure Databricks 中运行 SQL 查询时需要了解的概念。