你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 的云规模分析中使用 Azure Databricks

Azure Databricks 是一个已针对 Microsoft Azure 云服务平台进行优化的数据分析平台。 Azure Databricks 提供了两种用于开发数据密集型应用程序的环境:

  • Azure Databricks SQL 支持对数据湖运行快速临时 SQL 查询。

  • Azure Databricks 数据科学 和工程(有时称为“工作区”)是基于 Apache Spark 的分析平台。 它与 Azure 集成,以提供一键式安装程序、简化的工作流程以及交互式工作区,从而使数据工程师、数据科学家和机器学习工程师之间可以进行协作。

对于云规模分析,我们将重点介绍 Azure Databricks 数据科学 和工程。

概述

对于你部署的每个数据登陆区域,你可以选择部署两个共享工作区域。 一个用于数据不可知的引入,另一个用于分析。

  • 用于引入和处理的 Azure Databricks 工程工作区将通过 Azure 服务主体连接到 Azure Data Lake。 它由与数据无关的引入调用。
  • Azure Databricks 分析工作区可以面向所有数据科学家和数据运营团队预配。 此工作区将使用 Microsoft Entra 直通身份验证连接到 Azure Data Lake。 你与有权访问数据登陆区域中的 Azure Databricks 分析和数据科学工作区的所有用户共享该工作区。

如果你有一个自动数据不可知的引入引擎,Azure Databricks 工程工作区使用在 Azure 元数据服务资源组中创建的 Azure 密钥保管库实例来运行从“原始”到“扩充”的数据引入管道。

Azure Databricks 分析工作区应具有要求你创建高并发性群集的群集策略。 这种类型的群集允许使用 Microsoft Entra 凭据直通浏览 Data Lake。 有关更多详细信息,请参阅 Azure Data Lake Storage 中的访问控制和数据湖配置

配置 Azure Databricks

Azure Databricks 部署是部分基于参数的(通过 Azure 资源管理器模板和 YAML 脚本),但它还需要一些手动干预来配置所有工作区。

所有 Azure Databricks 工作区都应使用高级计划,该计划提供以下必需的功能:

  • 优化的计算自动缩放
  • Microsoft Entra 凭据直通身份验证
  • 条件身份验证
  • 笔记本、群集、作业和表格的基于角色的访问控制
  • 审核日志

为了与云规模分析保持一致,我们建议所有工作区都配置以下默认部署选项:

  • Azure Databricks 工作区连接到数据登陆区域中的外部 Apache Hive 元存储实例。
  • 将每个工作区配置为将 Databricks 诊断日志记录发送到 databricks-monitoring-rg 中的 Azure Log Analytics
  • 实现群集策略,以限制基于一组规则创建群集的功能。 有关详细信息,请参阅管理群集策略
    • 定义多个群集策略。 在载入过程中,按数据登陆区域运营团队来分配每一个要使用的目标组权限。 默认情况下,仅向运营团队授予群集创建权限。 为不同的团队或组提供使用群集策略的权限。
    • 将群集策略与 Azure Databricks 池结合使用,通过维护一组随时可用的空闲实例来缩短群集启动和自动缩放的时间。 有关详细信息,请参阅
  • 检索 Azure Key Vault 实例中的所有 Azure Databricks 操作机密,例如 SPN 凭据和连接字符串。
  • 为每个工作区配置单独的企业应用程序,以便与 SCIM(跨域身份管理系统)一起使用。 链接到 Azure Databricks 工作区,以控制对每个工作区的访问和权限。 有关详细信息,请参阅 使用 SCIM 预配用户和组,并为 Microsoft Entra ID 配置 SCIM 预配。

警告

未能将 Azure Databricks 工作区配置为使用 Azure Databricks SCIM 界面会影响你提供安全控制的方式。 这会从自动过程变为手动过程,并中断所有部署 CI/CD 管道。

为所有 Databricks 工作区设置了以下访问控制选项:

  • 工作区可见性控件:已启用(默认:已禁用)
  • 群集可见性控件:已启用(默认:已禁用)
  • 作业可见性控件:已启用(默认:已禁用)

你可能想要为 Azure Databricks 分析工作区设置以下选项:

  • 笔记本导出:已禁用(默认:已启用)
  • 笔记本表格剪贴板功能:已禁用(默认值:已启用)
  • 表访问控制:已启用(默认:已禁用)
  • Microsoft Entra 条件访问

部署 Azure Databricks

如果将 Azure Databricks 工作区部署为新登陆区域部署的一部分。 下图显示了在云规模分析中部署 Azure Databricks 环境的示例工作流。

Diagram of an Azure Databricks deployment into a data landing zone.

  1. 预配过程首先核实数据登陆区域中是否有 Apache Hive 元存储实例。 如果找不到 Apache Hive 元存储,则退出并引发错误。
  2. 成功查找 Apache Hive 元存储后,会创建一个工作区。
  3. 此过程将检查数据登陆区域中是否有 Log Analytics 工作区。 如果找不到 Log Analytics 工作区,则退出并引发错误。
  4. 对于每个工作区,它将创建一个 Microsoft Entra 应用程序并配置 SCIM。

对于 Azure Databricks 引入工作区:

  1. 此过程为该工作区配置服务主体访问权限。
  2. 已部署了数据平台运营团队定义的数据工程策略。
  3. 如果数据登陆区域运营团队已请求 Databricks 池或群集,则可以将它们集成到部署过程中。
  4. 它启用特定于 Azure Databricks 工程工作区的工作区选项。

对于 Azure Databricks 分析工作区:

  1. 此过程部署数据平台运营团队定义的数据分析策略。
  2. 如果数据登陆区域运营团队已请求 Databricks 池或群集,则可以将它们集成到部署过程中。
  3. 它启用特定于 Azure Databricks 工程工作区的工作区选项。

外部 Hive 元存储

在 Azure Databricks 工作区部署中:

  • 新的全局初始化脚本为所有群集配置 Apache Hive 元存储设置。 此脚本由新的全局初始化脚本 API 管理。

新的全局初始化脚本 API 以公共预览版提供。 Azure Databricks 中的公共预览版功能可用于生产环境,并受支持团队支持。 有关详细信息,请参阅 Azure Databricks 预览版本

  • 此解决方案使用 Azure Database for MySQL 来存储 Apache Hive 元存储实例。 选择此数据库是因为其成本效益以及它与 Apache Hive 的兼容性强。

后续步骤

云规模分析在集成 Azure Databricks 时考虑以下准则: