连接到数据源和外部服务

本页为配置 Azure Databricks 与外部数据源和服务之间的连接的管理员和 Power 用户提供了建议。

可以将 Azure Databricks 帐户连接到数据源,例如云对象存储、关系数据库管理系统、流式处理数据服务和企业平台(例如 CPM)。 还可以将 Azure Databricks 帐户连接到非存储外部服务。

配置与对象存储的连接

Azure Databricks 工作负荷使用的大多数数据都存储在云对象存储中,例如 Azure Data Lake Storage 或 AWS S3。 可以使用以下任一项来管理对云对象存储的访问:

配置到外部数据系统的连接

Databricks 提供了多个用于配置与外部数据系统的连接的选项。 下表概要介绍了这些选项:

选项 说明
查询联合连接器 Lakehouse Federation 提供对企业数据系统中数据的只读访问权限。 通过 Unity Catalog 在目录或架构级别配置连接,将多个表与单个配置同步。 请参阅“什么是 Lakehouse Federation?”。
托管引入连接器 Lakeflow Connect 允许管理员用户同时在数据引入 UI 中创建连接和托管引入管道。 请参阅 Lakeflow Connect 中的托管连接器
如果创建管道的用户不是管理员用户,或者计划使用 Databricks API、Databricks SDK、Databricks CLI 或 Databricks 资产捆绑包,管理员必须先在目录资源管理器中创建连接。 这些接口要求用户在创建管道时指定现有连接。 请参阅连接到托管的数据引入源
流式处理连接器 Azure Databricks 为许多流式处理数据系统提供优化的连接器。
对于所有流式处理数据源,必须生成提供访问权限的凭据,并将这些凭据加载到 Azure Databricks 中。 Databricks 建议使用机密存储凭据,因为你可以对所有配置选项和在所有访问模式下使用机密。
流式处理源的所有数据连接器都支持在定义流式处理查询时使用选项传递凭据。 请参阅 Lakeflow Connect 中的标准连接器
第三方集成 使用第三方工具连接到外部数据源,并自动将数据引入湖屋。 某些解决方案还包括反向 ETL,以及从外部系统直接访问湖屋数据。 请参阅什么是 Databricks Partner Connect?
驱动程序 Azure Databricks 将外部数据系统的驱动程序包含在每个 Databricks Runtime 中。 可以选择安装第三方驱动程序以访问其他系统中的数据。 必须为每个表配置连接。 某些驱动程序包含写访问权限。 请参阅连接到外部系统
对于只读查询联合,优先使用 Lakehouse 联合而非这些驱动程序。
JDBC 包含的几个外部系统驱动程序建立在JDBC的原生支持之上,JDBC选项提供了用于配置与其他系统连接的扩展选项。 必须为每个表配置连接。 请参阅使用 JDBC 查询数据库
对于只读查询联合,Lakehouse 联邦始终优先于这些驱动程序。

配置与外部服务的连接

Unity Catalog 使用名为服务凭据的安全对象控制对非存储服务的访问。 服务凭证封装了一个长期云凭证,该凭证提供用户需要从 Azure Databricks 连接到的外部服务的访问权限。 请参阅 使用 Unity 目录连接到外部云服务

管理和请求对数据源和外部服务的访问权限

大多数连接方法都需要对外部数据源或服务以及 Azure Databricks 工作区具有提升的权限。 在典型组织中,很少有用户在 Azure Databricks 或外部数据和存储提供程序中拥有足够的权限来配置数据连接本身。

你的组织可能已使用此页面链接的文章中所述的其中一种模式配置了对数据源或服务的访问权限。 如果你的组织有一个定义完善的过程来请求访问数据和第三方服务,Databricks 建议遵循此过程。 如果不确定如何获取数据源的访问权限,此过程可能会有所帮助:

  1. 使用目录资源管理器查看可以访问的表和卷。 请参阅什么是目录资源管理器?
  2. 向团队成员或经理询问他们可以访问的数据源。
    • 大多数组织使用从其标识提供者(例如:Okta 或 Microsoft Entra ID)同步的组来管理工作区用户的权限。 如果团队的其他成员可以访问需要访问权限的数据源,请让工作区管理员将你添加到正确的组以授予访问权限。
    • 如果特定表、卷或数据源由同事配置,则个人应能够授予你对数据的访问权限。

某些组织将数据访问权限附加到特定的计算群集和 SQL 仓库。 这是一个旧式治理模型,但如果组织使用它,并且想要了解特定计算资源上可用的数据源,请联系“ 计算 ”选项卡上列出的计算创建者。