Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本页介绍如何将数据从 Azure Databricks 发布到 Microsoft Power BI 服务。 Microsoft Power BI 服务是一个基于云的业务分析平台,使用户能够连接、可视化和分析数据。
将 Azure Databricks 作为数据源与 Power BI 服务集成时,可将 Databricks 的可缩放数据处理和性能引入所有用户。
如果要将 Power BI Desktop 连接到 Azure Databricks,请参阅 将 Power BI Desktop 连接到 Azure Databricks。
注释
适用于 Power BI 的 Azure Databricks 连接器支持 箭头数据库连接(ADBC) 驱动程序。 在此处了解详细信息。
要求
数据必须位于 Unity 目录中,并且计算必须启用 Unity 目录。 目前不支持 Hive 元存储。
必须拥有 Power BI Premium 许可证(高级容量或 Premium Per User(PPU))。
必须在 Power BI 容量中为“XMLA 终结点”启用“读写”。 请访问此链接获取说明。
如果使用计算机到计算机 (M2M) OAuth 进行身份验证,请确保已设置 Azure Databricks 服务主体。 请参阅 在 Azure Databricks for Power BI 上配置服务主体。
如果用户希望在发布后编辑 Power BI 服务中的语义模型,则必须在工作区设置中启用 用户可以在 Power BI 服务(预览版)中编辑数据模型 。 还可以使用 表格编辑器 编辑语义模型,方法是使用 XMLA 终结点建立连接。
如果 Power BI 工作区使用专用链接,则必须在 Power BI 中手动更新数据集的数据源凭据。
将 Azure Databricks 表发布到 Power BI 语义模型
将 Azure Databricks 用作 Power BI Online 的数据源时,可以直接通过 Databricks UI 从表或架构创建 Power BI 语义模型。
登录到 Databricks 工作区,然后单击
在边栏中点击目录以打开目录浏览器。
从右上角的下拉列表中选择一个计算资源。
打开目录,然后选择要发布的架构或表。 请勿从 hive 元存储或示例目录中进行选择。
在右上角,单击“与 BI 工具一起使用”(对于架构)或“在仪表板中打开”(对于表)。
选择“发布到 Power BI 工作区”。
在“连接到合作伙伴”对话框中,单击“连接到 Microsoft Entra ID”进行身份验证。
Databricks 要求向已注册的 Entra ID 应用 Databricks 数据集发布集成授予以下权限:
Content.Create
Dataset.ReadWrite.All
Workspace.Read.All
有关详细信息,请参阅 Microsoft Entra 权限。
如果不接受这些权限,你的组织可能需要为这些权限获得 Entra Admin 批准。 有关操作说明,请参阅查看管理员同意请求。
如果有“需要管理员批准”消息,Power BI 全局管理员可能需要打开管理员同意请求,然后才能继续作。 禁用 管理员同意时,请参阅“授予权限”。
在 Power BI 工作区 字段中,选择 Power BI 工作区。
在“数据集模式”下,选择 DirectQuery 或“导入”。
在“Power BI 中的身份验证方法”中,选择“OAuth”或“PAT (个人访问令牌)”。
Databricks 建议使用 OAuth,因为它允许细粒度的访问控制和用户级审核。 可能需要在 数据源凭据下的 Power BI 语义模型设置页上配置 OAuth 凭据。 如果选择个人访问令牌 (PAT),则会代表你创建一个 PAT,以允许 Power BI 访问语义模型。
如果要使用 M2M OAuth 进行身份验证,可以在发布后在 Power BI 服务上配置此功能。 请参阅 设置 M2M OAuth。
在“数据集名称”中,选择“发布作为新数据集”或“使用现有数据集”。
选择“使用现有数据集”时,应注意以下几点:
- 如果语义模型存在,则不会覆盖它。 更新仅在给定的架构中附加新记录。
- 如果所选表不是现有语义模型的一部分,则会添加它。
- 如果表已在语义模型中,并且上次更新后添加了新列,则会自动添加这些列。
- 可以为新表选择不同的存储模型,以创建复合语义模型。
如果你希望在保持现有数据连接的同时更新现有语义模型,请选择“使用现有数据集”。 如果要使用新的语义模型创建新模型,请选择 “发布”作为新数据集。
- 如果语义模型存在,则不会覆盖它。 更新仅在给定的架构中附加新记录。
单击“发布到 Power BI”。
语义模型发布可能需要 10 到 20 秒。 发布完成后,单击 “打开 Power BI ”,在新选项卡中打开 Power BI 语义模型。
功能和说明
- 发布包含多个表的架构时,将发布包含列的所有表。 不会发布没有列的表。
- Azure Databricks 中表列的备注将复制到 Power BI 中相应列的说明。
- 已发布的数据集中将保留外键关系。 但是,Power BI 在任何两个表之间都仅支持一个活动状态的关系路径。 当 Azure Databricks 中的架构中存在多个路径时,Power BI 中的一些相应关系将设置为非活动状态。 稍后可以在 Power BI 的数据模型视图中更改哪些关系是活动或非活动状态。
- 使用 OAuth 或本地数据网关时,可能需要在 Power BI 数据集设置页面上的“数据源凭据”下配置凭据。
- 目前,用户只能直接发布到其主租户中的 Power BI 工作区。 不支持在作为来宾用户的租户中进行发布。
禁用管理员同意时授予权限
禁用管理员同意后,用户无法请求审批需要权限的应用程序。 如果阻止或仅限于 Microsoft Entra 管理中心中已验证的发布者,并且不允许管理员同意请求,则可能会出现这种情况。
若要允许用户请求发布到 Power BI 服务的权限,你必须是 全局管理员 或 云应用程序管理员 才能启用和批准同意请求。
步骤 1:启用管理员同意请求
全局管理员或云应用程序管理员必须首先启用管理员同意请求:
在Microsoft Entra 管理中心,导航到 “同意”和“权限”。
单击边栏中的 “管理员同意设置 ”。
将 管理员同意请求 切换为 “是”。
(可选)若要指定可帮助评估同意请求的审阅者,请选择“审阅者”下的“添加用户”。 请注意,虽然审阅者可以评估请求,但只有全局管理员可以授予最终管理员同意。
配置 许可请求在(天)后过期 ,以设置许可请求在过期前保持有效时间。
用户现在可以提交 Power BI 服务的同意请求。
步骤 2:批准用户同意请求
用户提交同意请求后,全局管理员或云应用程序管理员必须批准该请求:
在Microsoft Entra 管理中心,单击边栏上的 “管理员同意请求 ”。
选择 Databricks 数据集发布集成 请求。
单击“ 查看权限和同意”。
使用Microsoft Entra ID 登录,然后单击“ 接受”。
请求访问 Power BI 的用户现在可以发布到 Power BI 服务。
设置 M2M OAuth
从 Azure Databricks 发布到 Power BI 服务后,可以在 Power BI 服务上配置 M2M OAuth。 确保已在 Azure Databricks 上设置服务主体。 请参阅 在 Azure Databricks for Power BI 上配置服务主体。
可以从语义模型或服务网关配置 M2M OAuth。
对 M2M OAuth 使用语义模型
使用语义模型为 Power BI 服务上的 M2M OAuth 配置 Azure Databricks 连接。 有关语义模型的详细信息,请参阅 Power BI 服务中的语义模型。
配置凭据:
在 Power BI 中,导航到包含语义模型的工作区。
单击 “更多选项”(水平烤肉串菜单) > “设置”。
导航到 数据源凭据 ,然后单击“ 编辑凭据”。
在 身份验证方法中,选择 “基本”。
在 “用户名”中,输入服务主体应用程序 ID。
在 “密码”中,输入服务主体机密。
为数据源选择适当的隐私级别设置。
如果要启用 SSO,请启用最后一个选项。
单击登录。
将服务网关用于 M2M OAuth
可以从 Power BI VNet 或本地数据网关为 Power BI 服务上的 M2M OAuth 配置 Azure Databricks 连接。 本地网关的 Databricks 客户端凭据需要 Power BI 网关 v3000.270.10 或更高版本。 有关 Power BI 网关的详细信息,请参阅 官方 Azure 站点。
Power BI 在其 REST API 中并不完全支持 VNet 数据网关。 因此,必须手动更新数据源连接,以在 UI 中使用 Databricks 客户端凭据 。
配置凭据:
在 Power BI 中,单击右上角的齿轮图标以访问设置。
单击“ 管理连接和网关”。
单击“ + 新建 ”创建新的连接。
选择 本地 或 虚拟网络。 这两个网关的所需凭据相同。
在 网关群集名称中,选择相应的网关。
在 “连接名称”中,输入连接名称。
在 “连接类型”中,选择 “Azure Databricks”。
在 服务器主机名中,输入 Azure Databricks SQL 仓库主机名。
在 HTTP 路径中,输入 SQL 仓库 HTTP 路径。
在 “身份验证”下,指定身份验证凭据。
- 在 身份验证方法中,选择 Databricks 客户端凭据。
- 在 Databricks 客户端 ID 中,输入服务主体客户端 ID。
- 在 Databricks 客户端密码中,输入服务主体客户端密码。
在 “隐私”级别,选择“ 组织”。
单击 “创建” 。
使用 Power BI 服务访问 Azure Databricks 数据源
将报表发布到 Power BI 服务时,你使用个人访问令牌连接到 Azure Databricks。
在 Power BI 服务中,你还可以启用单一登录 (SSO),以便用户可以通过将其 Microsoft Entra ID 凭据传递给 Azure Databricks 来访问使用 DirectQuery 存储模式生成的报表。
将 Power BI 报表从 Power BI Desktop 发布到 Power BI 服务。
启用对报表和基础数据源的单一登录 (SSO) 访问。
- 在 Power BI 服务中,转到报表的基础 Azure Databricks 数据集,展开“数据源凭据”,然后单击“编辑凭据”。
- 在配置对话框中,选择“报表查看者只能使用直接查询通过其自己的 Power BI 标识访问此数据源”,然后单击“登录”。
选择此选项后,将使用 DirectQuery 处理对数据源的访问,并使用访问报表的用户的 Microsoft Entra ID 标识对其进行管理。 如果未选择此选项,只有你(作为发布报表的用户)才能访问 Azure Databricks 数据源。
Troubleshooting
错误 | 注释 |
---|---|
首次启动“发布到 Power BI”时,“需要批准” | 如果看到此消息,则需要 Entra 管理员批准,然后才能授予对此集成功能的权限。 请联系 Entra 管理员来批准请求。 请访问此链接获取说明。 |
PowerBI未授权异常 | 确保拥有 Power BI Premium 许可证(高级容量或 Premium Per User(PPU))。 |
我们无法部署此数据集。 请联系容量管理员,确保在 Power BI Premium 容量上的容量设置中启用了 XMLA 读/写支持,然后重试。 有关其他信息,请参阅产品文档中的“XMLA 读/写支持”。 | 请联系 Power BI 容量管理员,以在容量设置中的“XMLA 终结点”下启用“读取和写入”功能。 请访问此链接获取说明。 |
XMLA 终结点功能已禁用。 在 PowerBI.com 中启用“在 Excel 中分析”功能以启用此功能。 | 请联系 Power BI 容量管理员,以在容量设置中的“XMLA 终结点”下启用“读取和写入”功能。 请访问此链接获取说明。 |
容量未激活 | Fabric 或 Power BI 容量可能会暂停。 请联系容量管理员来检查容量状态。 |
名为‘<ccon> _</ccon> ’的数据库已存在于‘<ccon> workspace </ccon> ’ _ 中。 |
确保有权创建语义模型。 然后,重试“发布到 Power BI”以发布具有递增版本号的语义模型。 |
不能在同一模型中将 Direct Lake 模式与其他存储模式一起使用。 复合模型不支持 Direct Lake 模式。 删除不支持的表或将其切换到 Direct Lake 模式。 | 由于“发布到 Power BI”会创建具有导入模式或 DirectQuery 模式的语义模型,因此它不能用于发布到使用 Direct Lake 模式的现有数据集。 请单击此链接了解详细信息。 |
'<euii> *</euii> ' 用户没有调用 Discover 方法的权限。 |
确保发布到具有高级许可证模式的 Power BI 工作区。 不能发布到具有 Pro 许可证模式的工作区。 |
“”用户无权在“<euii> *</euii> ***”中创建新对象,或者该对象不存在。 |
你可能在 Power BI 工作区中具有查看器角色。 检查你是否有权创建语义模型。 有关详细信息,请访问此链接。 |
未能更新数据源凭据:[Microsoft][thriftextension] (14) 在 HTTP 连接期间,服务器返回未经授权/禁止错误响应,但未收到令牌过期消息。在 Power BI 上编辑数据源凭据时。 | 检查 Databricks 工作区是否可公开访问。 如果工作区使用的是专用链接或 IP 访问列表,则可能需要配置 Power BI 本地网关。 |