本页为配置Azure Databricks与外部数据源和服务之间的连接的管理员和电源用户提供建议。
可以将Azure Databricks帐户连接到数据源,例如云对象存储、关系数据库管理系统、流式处理数据服务和企业平台(如 CRM)。 还可以将Azure Databricks帐户连接到非存储外部服务。
配置与云对象存储的连接
Azure Databricks工作负荷使用的大多数数据都存储在云对象存储中,例如Azure Data Lake Storage或 AWS S3。 可以使用以下任一项来管理对云对象存储的访问:
Unity 目录(建议),它为云对象存储中的结构化和非结构化数据提供数据管理。 请参阅 使用 Unity 目录连接到云对象存储。
旧连接器和连接模式。 请参阅 使用旧模式为 Azure Databricks 配置对云对象存储的访问。
Unity Catalog 连接
Unity 目录连接是一个安全对象,用于存储访问外部系统所需的终结点和凭据。 连接提供了一种管理外部数据系统的身份验证和配置的方法,包括联合身份验证、托管引入、JDBC 和 HTTP。 有关所有连接类型的概述以及如何在它们之间进行选择,请参阅 Unity 目录连接。
配置到外部数据系统的连接
Databricks 提供了多个用于配置与外部数据系统的连接的选项。 下表概要介绍了这些选项:
| Option | Description |
|---|---|
| 查询联合连接器 | 查询联合 通过通过 JDBC 向下推送 Unity 目录查询,提供对外部关系数据库的只读访问权限。 支持的源包括 PostgreSQL、MySQL、SQL Server、Snowflake 等。 |
| 目录联合连接器 | 目录联合 连接外部目录平台(例如 Hive 元存储或 Snowflake Horizon 目录),以便可以直接在文件存储中查询其数据,而无需移动数据。 |
| 托管引入连接器 | Lakeflow Connect 允许管理员用户同时在数据引入 UI 中创建连接和托管引入管道。 请参阅 Lakeflow Connect 中的托管连接器。 如果要创建管道的用户是非管理员用户或计划使用 Databricks API、Databricks SDK、Databricks CLI 或声明性自动化捆绑包,管理员必须先在目录资源管理器中创建连接。 这些接口要求用户在创建管道时指定现有连接。 请参阅连接到托管的数据引入源。 |
| 流式处理连接器 | Azure Databricks为许多流式处理数据系统提供优化的连接器。 对于所有流式处理数据源,必须生成提供访问权限的凭据,并将这些凭据加载到Azure Databricks。 Databricks 建议使用机密存储凭据,因为你可以对所有配置选项和在所有访问模式下使用机密。 流式处理源的所有数据连接器都支持在定义流式处理查询时使用选项传递凭据。 请参阅 Lakeflow Connect 中的标准连接器。 |
| 第三方集成 | 使用第三方工具连接到外部数据源,并自动将数据引入湖屋。 某些解决方案还包括反向 ETL,以及从外部系统直接访问湖屋数据。 请参阅什么是 Databricks Partner Connect?。 |
| Spark 数据源 API | 使用 Spark 数据源 API 读取和写入外部数据库。 Databricks Runtime 内置了适用于常见数据源的连接器。 还可以将 Unity 目录连接与自己的 JDBC 驱动程序 JAR 配合使用、在专用群集上安装第三方连接器,或使用 PySpark DataSource API 生成自定义连接器。 请参阅 Spark 数据源。 对于只读访问,Databricks 建议使用 Lakehouse Federation。 |
| JDBC | 使用 JDBC 和 Unity 目录连接连接到外部数据库,以便管理访问、凭据隔离和跨计算支持。 请参阅 JDBC 连接。 有关没有 Unity 目录治理的旧 JDBC 配置,请参阅 使用 JDBC 的查询数据库。 对于只读查询联合,Lakehouse 联邦始终是首选。 |
配置与非存储云服务的连接
Unity 目录使用名为 服务凭据的安全对象控制对非存储云服务的访问。 服务凭据封装了一种长期有效的云凭据,该凭据可提供对用户需要从 Azure Databricks 连接到的非存储云服务的访问权限。 请参阅 使用 Unity 目录连接到外部云服务。
管理和请求对数据源和外部服务的访问权限
大多数连接方法都需要对外部数据源或服务以及Azure Databricks工作区具有提升的权限。 在典型组织中,很少有用户在Azure Databricks或外部数据和存储提供程序中拥有足够的权限来配置数据连接本身。
你的组织可能已使用此页面链接的文章中所述的其中一种模式配置了对数据源或服务的访问权限。 如果你的组织有一个定义完善的过程来请求访问数据和第三方服务,Databricks 建议遵循此过程。 如果不确定如何获取数据源的访问权限,此过程可能会有所帮助:
- 使用目录资源管理器查看可以访问的表和卷。 请参阅什么是目录资源管理器?。
- 向团队成员或经理询问他们可以访问的数据源。
- 大多数组织使用从其标识提供者(例如:Okta 或 Microsoft Entra ID)同步的组来管理工作区用户权限。 如果团队的其他成员可以访问需要访问权限的数据源,请让工作区管理员将你添加到正确的组以授予访问权限。
- 如果特定表、卷或数据源由同事配置,则个人应能够授予你对数据的访问权限。
某些组织将数据访问权限附加到特定的计算群集和 SQL 仓库。 这是一个旧式治理模型,但如果组织使用它,并且想要了解特定计算资源上可用的数据源,请联系“ 计算 ”选项卡上列出的计算创建者。