Azure Databricks 概念

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

一些概念是 Azure Databricks 通用的,另外一些概念特定于你使用的基于角色的 Azure Databricks 环境:

  • Databricks 数据科学和工程&
  • Databricks 机器学习

一般概念

本部分介绍适用于所有 Azure Databricks 基于角色的环境的概念和术语。

工作区

在 Azure Databricks 中,工作区有两个含义:

  1. 云中的 Azure Databricks 部署,用作团队用于访问其所有 Databricks 资产的统一环境。 你的组织可以选择使用多个工作区或只使用一个工作区,具体取决于你的需求。

  2. Databricks 数据科学与工程和 Databricks 机器学习基于角色的环境的 UI。

    例如,当我们讨论“工作区浏览器”时,我们讨论的是使你能够浏览数据科学与工程和 Databricks 机器学习环境中的笔记本、库和其他文件的 UI,该 UI 不是 Databricks SQL 环境的一部分。 但是,“数据科学与工程”以及“Databricks 机器学习”都包含在已部署的 Azure Databricks 工作区中。

计费

DBU

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

请参阅 Azure Databricks 定价页

身份验证和授权

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

用户

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

服务主体

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

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

访问控制列表 (ACL)

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

Databricks 数据科学和工程&

Databricks 数据科学与工程是经典 Azure Databricks 环境,用于数据科学家、数据工程师和数据分析师之间的协作。 本部分介绍为了在 Databricks 数据科学与工程环境中高效工作而需要理解的基本概念。

工作区

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

本部分介绍 Azure Databricks 工作区文件夹中包含的对象。

笔记本

文档的基于 Web 的接口,其中包含可运行的代码、可视化效果和叙述性文本。

仪表板

以有组织的方式访问可视化效果的的接口。

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

存储库

一个文件夹,其内容通过同步到远程 Git 存储库来一起进行共同版本控制。

试验

MLflow 运行的集合,用于训练机器学习模型。

数据科学与工程界面

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

UI

Azure Databricks UI 为工作区文件夹及其包含的对象、数据对象和计算资源提供了一个易于使用的图形界面。

REST API

REST API 有三个版本:2.12.01.2。 REST API 2.1 和 2.0 支持 REST API 1.2 的大部分功能和附加功能,因此是首选。

CLI

此开放源代码项目承载在 GitHub 上。 CLI 在 REST API(最新)的基础上构建。

数据科学与工程中的数据管理

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

Databricks 文件系统 (DBFS)

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

数据库

信息集合,该信息经过整理以便轻松进行访问、管理和更新。

Table

结构化数据的表示形式。 利用 Apache Spark SQL 和 Apache Spark API 查询表。

元存储

用于存储数据仓库中各种表和分区的所有结构信息的组件,包括列和列类型信息、读取和写入数据所需的序列化器和去序列化器,以及用于存储数据的相应文件。 每个 Azure Databricks 部署都有一个中心 Hive 元存储,供所有需要保存表元数据的群集访问。 也可以选择使用现有的外部 Hive 元存储

数据科学与工程中的计算管理

本部分介绍在 Databricks 数据科学与工程中运行计算时需要了解的概念。

群集

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

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

一组空闲的随时可用的实例,可减少群集启动和自动缩放时间。 附加到池时,群集会从池中分配其驱动程序节点和工作器节点。 如果池中没有足够的空闲资源来满足群集的请求,则池会通过从实例提供程序分配新的实例进行扩展。 终止附加的群集后,它使用的实例会返回到池中,可供其他群集重复使用。

Databricks 运行时

核心组件集,可在 Azure Databricks 管理的群集上运行。 Azure Databricks 提供多种类型的运行时:

  • Databricks Runtime 包括 Apache Spark,但还添加了许多可以显著提高大数据分析可用性、性能和安全性的组件与更新。
  • 用于机器学习的 Databricks Runtime 基于 Databricks Runtime 构建的,为机器学习和数据科学提供随时可用的环境。 它包含多个流行库,其中包括 TensorFlow、Keras、PyTorch 和 XGBoost。
  • 用于基因组学的 Databricks Runtime 是 Databricks Runtime 的一个版本,已针对处理基因组和生物医学数据而进行了优化。
  • Databricks Light 是开放源代码 Apache Spark 运行时的 Azure Databricks 包。 它为不需要 Databricks Runtime 所提供的高级性能、可靠性或自动缩放优势的作业提供运行时选项。 仅当创建运行 JAR、Python 或 spark-submit 作业的群集时,才可以选择 Databricks Light;对于要在其上运行交互式或笔记本作业工作负荷的群集,不能选择此运行时。

**工作流 **

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

工作负载

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

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

执行上下文

每种受支持编程语言的 REPL 环境的状态。 支持的语言包括 Python、R、Scala 和 SQL。

Databricks 机器学习

Databricks 机器学习环境在数据科学与工程工作区中提供的功能的基础上添加了功能。 重要概念包括:

试验

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

模型

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