将 Power BI Desktop 连接到 Azure Databricks

Microsoft Power BI Desktop 连接到Azure Databricks,这是用于生成交互式报表和仪表板的Windows应用程序。 本页介绍从 Power BI Desktop 查询Azure Databricks群集和 Databricks SQL 仓库的连接方法、身份验证选项和连接器配置。

将 Azure Databricks 用作 Power BI 的数据源时,可将 Azure Databricks 的性能和功能扩展到数据科学家和数据工程师之外,扩展到所有业务用户。

可以将 Power BI Desktop 连接到 Azure Databricks 群集和 Databricks SQL 仓库。 还可以将 Power BI 报表发布到 Power BI 服务,并允许用户使用单一登录(SSO)访问基础 Azure Databricks 数据,同时传递他们用于访问报表的相同 Microsoft Entra ID 凭据。

从以下方法中选择从 Power BI Desktop 连接到 Azure Databricks 的方法之一:

如果要将数据从 Azure Databricks 发布到 Power BI 服务,请参阅 从 Azure Databricks 发布到 Power BI 服务

注释

适用于 Power BI 的 Azure Databricks 连接器支持 箭头数据库连接(ADBC) 驱动程序。 在此处了解详细信息。

要求

  • 若要将 Unity 目录管理的数据与 Power BI 配合使用,Databricks 建议使用最新版本的 Power BI Desktop。

    注释

    如果您的操作系统不是 Windows,请在物理主机或基于 Windows 的虚拟机上运行 Power BI Desktop,然后从您的操作系统连接到它。

    如果使用低于 2.85.681.0 的 Power BI Desktop 版本,请在与 Power BI Desktop 相同的环境中安装 Databricks ODBC 驱动程序

  • 可用于身份验证的下列选项之一:

    • Azure Databricks 个人访问令牌或Microsoft Entra ID帐户凭据。

      注释

      使用个人访问令牌进行身份验证时,Databricks 建议使用属于服务主体而不是工作区用户的个人访问令牌,这是一种安全最佳做法。 若要为服务主体创建令牌,请参阅管理服务主体的令牌

    • Azure Databricks M2M OAuth 服务主体。 此身份验证方法需要 Power BI Desktop 2.143.878.0(2025 年 5 月版本)或更高版本。 请参阅在 Azure Databricks 上为 Power BI 配置服务主体

      重要

      如果您使用 Microsoft Entra ID 受管服务主体,则任何运行时间超过 1 小时的工作流都会失败。

    注释

    如果使用 OAuth 应用程序(U2M)进行身份验证,则默认使用单一刷新令牌以提高安全性。 若要配置或禁用此功能,请参阅 单用刷新令牌

  • Databricks SQL 仓库

手动连接到Azure Databricks

根据所选的身份验证方法,按照这些说明使用 Power BI Desktop 连接到群集或 SQL 仓库。 在 DirectQuery 模式下使用 Power BI 时,建议使用 Databricks SQL 仓库。

  1. 获取 Databricks SQL 仓库 的服务器主机名和 HTTP 路径

  2. 启动 Power BI Desktop。

  3. 单击“获取数据”或“文件”“获取数据”>

  4. 单击“获取数据以开始”。

  5. 搜索 Databricks,然后单击连接器Azure Databricks

  6. 单击连接

  7. 输入“服务器主机名”和“HTTP 路径”。

  8. (可选)指定 高级选项 配置。

  9. 选择你的数据连接模式。 有关 ImportDirectQuery 之间差异的信息,请参阅 在 Power BI Desktop 中使用 DirectQuery

  10. 单击 “确定”

  11. 选择身份验证方法:

    • 个人访问令牌:输入Azure Databricks个人访问令牌。
    • Microsoft Entra ID:单击Sign in,然后按照屏幕上的说明进行操作。
    • 客户端凭据:使用服务主体进行身份验证时使用。 输入服务主体的客户端 ID 和客户端密码。
  12. 单击连接

  13. 选择从 Power BI Navigator 中要查询的 "Azure Databricks" 数据。

    Power BI 导航器

Power BI OpenSharing 连接器

Power BI OpenSharing 连接器允许用户通过 OpenSharing 开放协议发现、分析和可视化与其共享的数据集。 该协议利用 REST 和云存储实现跨产品和平台的数据集安全交换。 此方法仅支持 导入 模式,并允许与不在 Azure Databricks 上的用户共享数据。

有关连接说明,请参阅 Power BI:读取共享数据

连接配置

Azure Databricks Power BI 连接器支持以下附加连接配置。

本机 SQL 查询

通过 Databricks 连接器,您可以在 Power BI Desktop 中使用原生 SQL 查询来针对 Databricks SQL 仓库执行大规模操作和计算密集型查询。 这需要 Power BI v2.112.603.0 或更高版本(2022 年 12 月版本)。

在 Power BI Desktop 中执行以下步骤以使用本机 SQL 查询:

  1. “获取数据” 菜单中,找到 Azure Databricks 数据源。

  2. 在连接对话框中,输入目录和数据库服务器详细信息。 如果要使用本机查询,则需要这些字段。

  3. 本机查询中,输入要提交的 SQL 查询。

  4. 进行身份验证后,可以查询。

  5. 若要修改查询,请使用 Power BI 高级查询编辑器。 如果进行任何更改,请保存查询。

自动 HTTP 代理检测

Power BI桌面版本 2.104.941.0 及更高版本(2022 年 5 月版本)内置支持检测Windows系统范围的 HTTP 代理配置。

Power BI桌面可以自动检测和使用Windows系统范围的 HTTP 代理配置。

如果代理服务器不提供 CRL 分发点(CDP),Power BI可能会显示以下错误消息:

Details: "ODBC: ERROR [HY000] [Microsoft][DriverSupport] (1200)
-The revocation status of the certificate or one of the certificates in the certificate chain is unknown."

若要修复此错误,请完成以下步骤:

  1. 创建文件C:\Program Files\Microsoft Power BI Desktop\bin\ODBC Drivers\Simba Spark ODBC Driver\microsoft.sparkodbc.ini(如果不存在)。

  2. 将以下配置添加到 microsoft.sparkodbc.ini 文件中:

    [Driver]
    CheckCertRevocation=0
    

解决 SSL 验证错误

通过专用网络连接将 Power BI Desktop 连接到 Azure Databricks 时,可能会遇到 SSL 证书验证错误。 当证书吊销列表(CRL)检查因网络限制而失败时,将发生这种情况。

禁用证书吊销检查

Power BI Desktop 通过检查证书颁发机构托管的证书吊销列表来验证 SSL 证书。 即使使用与 Azure Databricks 的专用连接,Power BI ODBC 驱动程序也会尝试验证证书有效性。 这些 CRL 检查使用可能被防火墙或网络安全策略阻止的公共互联网端点。

通过将配置 CheckCertRevocation=0 设置为 microsoft.sparkodbc.ini 文件来禁用证书吊销检查。 这允许 ODBC 驱动程序访问服务器。 有关详细信息,请参阅 Power BI 代理和 SSL 配置

允许证书颁发机构端点

如果使用限制出站流量的防火墙或网络安全策略,请允许访问证书颁发机构终结点以启用 CRL 检查。 Azure Databricks SSL 证书使用 DigiCert 作为证书颁发机构,因此需要允许流量到达 DigiCert 终结点,以进行正确的 CRL 验证。

*.digicert.com 规则添加到防火墙,以便从 Power BI Desktop 连接到Azure Databricks。

Limitations

  • Azure Databricks 连接器支持 Web 代理。 但是,文件中定义的 .pac 自动代理设置不受支持。
  • 在 Azure Databricks 连接器中,Databricks.Query 数据源不支持与 DirectQuery 模式结合使用。
  • 使用 OpenSharing 连接器加载的数据必须适合计算机的本地内存。 为了确保这一点,连接器会将导入的行数限制限制为初始连接设置过程中设置的 行数 。 请参阅 Power BI:读取共享数据

其他资源