白杨商业智能工作室
#技术分享#Power BI#Fabric#语义模型

Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器正式发布

· 白杨BI工作室

微软正在把 Power Query 连接器的底层驱动从 ODBC 迁到 ADBC,这次轮到 Databricks。适用于 Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器已正式 GA(Generally Available,正式发布)。

Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器正式发布

微软正在把 Power Query 连接器的底层驱动从 ODBC 迁到 ADBC,这次轮到 Databricks。适用于 Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器已正式 GA(Generally Available,正式发布)。对每天跟 Databricks 打交道的分析师来说,这不是一次普通的版本更新,而是整个连接层技术栈的换代:语义模型(Semantic Model)、数据流(Dataflow)和分页报表(Paginated Report)里已有的连接不会被动改变,迁移目前是按连接、按工作区、按租户逐级选择加入(opt-in)的。

换句话说,你可以完全不动现有资产,也可以挑一张报表先试水。真正值得关注的是 ADBC 带来的三个变化:内存安全与垃圾回收等安全增强、对 Arrow 数据的原生高效读取、以及更完整的认证支持。下面拆开讲。

ADBC 到底解决了什么问题

ODBC 是上世纪九十年代的产物,它的数据交换模型是逐行、带序列化的。当你在 Power Query 里拉一张几千万行的 Databricks 表时,数据要在驱动层被序列化、复制、再反序列化,开销全落在刷新时间里。

ADBC(Apache Arrow Database Connectivity)换了一套思路:它定义了一组标准接口直接操作 Arrow 列式内存格式。列式数据在驱动和引擎之间传递时不需要序列化和拷贝,抓取大数据集的额外开销极小。这是它相对 ODBC 最实质的优势,也是微软推动这次迁移的技术底气。

安全性上,ADBC 驱动本身具备内存安全和垃圾回收等特性,比 C/C++ 写的传统 ODBC 驱动更不容易出内存层面的问题。

有一点必须说清楚,避免误读:这次迁移只是不再使用 Power BI 内置的 ODBC 驱动。如果你用的是自己单独安装的 ODBC 驱动,行为不会变。也就是说,受影响的只是"随 Power BI 一起发货"的那部分驱动。

本次 GA 覆盖的连接器对应关系很直接:

| 连接器 | 原驱动 | 新驱动(GA) | | --- | --- | --- | | Databricks | Simba Spark ODBC | Databricks ADBC | | Azure Databricks | Simba Spark ODBC | Databricks ADBC |

认证方面,Databricks ADBC 支持 OAuth(用户)、OAuth(M2M / 客户端凭据)以及 Microsoft Entra ID,覆盖了企业里最常见的几种接入方式。

三种验证路径,按控制粒度选

官方给了三种启用方式,本质上是按"你想控制到多细"来排序的。建议从最小的粒度开始。

第一种:按连接 opt-in,用 Implementation="2.0"

这是对比 ADBC 和 ODBC 最快的方法,适合针对某一张报表或某个数据集做验证。在 Power Query 表达式的 source 步骤里加上这个选项:

Source = Databricks.Catalogs("adb-1234567890.1.azuredatabricks.net",
    "/sql/1.0/warehouses/<warehouse-id>",
    [Implementation="2.0"])

刷新数据集,把行数、列类型、汇总值跟生产基线逐项对比。如果想强制走回 ODBC 做并排比较,把值改成 Implementation="1.0" 即可。这种方式的妙处在于:改动只影响这一个连接,出问题随时回退,风险可控。

第二种:在验证工作区里覆盖默认值

要同时验证多张报表时,工作区管理员可以只对某一个工作区打开 ADBC,租户里其他部分继续用旧驱动。把待测报表发布到这个工作区,按平时的刷新计划跑就行。这样既隔离了影响范围,又能批量验证。

第三种:租户级默认启用

结果确认无误后,租户管理员可以在 Admin portal 里打开"Users can connect to data sources by using Apache Arrow database connectivity (ADBC)"。此后租户内的新连接默认走 ADBC,Desktop 和 Service 保持在同一驱动上,不会出现两端行为不一致的尴尬。

验证阶段该盯什么

ADBC 驱动的定位是"兼容性保持"的替代品,目标是替换 Simba Spark ODBC 而不改变结果。但兼容性保持是设计目标,不等于零风险。在租户级启用之前,务必先在 Desktop 里验证关键报表。

具体盯三件事:刷新是否成功、行数与列数据类型是否与基线一致、关键汇总值有没有漂移。任何异常——刷新失败、汇总值变了、性能回退——都可以发到 adbcmigration@microsoft.com,附上租户 ID、连接器、M 表达式和你观察到的现象。这些信息越完整,排查越快。

时间线与行动建议

Power BI 服务从 ODBC 迁到 ADBC 的过程会贯穿到 2027 年第一季度。这个时间窗口看起来宽裕,但迁移这种事,越早验证越主动。等到租户级切换真正落地时,如果你的报表早就验证过,那就是一次无感的切换;如果拖到最后才动,风险会集中爆发。

这周就可以做的事:读一遍 Databricks 连接器文档,装上最新的 Power BI Desktop,挑一张跑在 Databricks 上的生产报表,在 source 步骤加上 Implementation="2.0",然后对比行数、列数据类型和关键汇总值。发现任何不符合预期的现象,直接反馈给上面的邮箱。

驱动换代这种事,平时不显山露水,但它决定了你刷新报表时数据在底层怎么流动。ADBC 把这条路径从"逐行序列化"换成了"列式零拷贝",对重度依赖 Databricks 大表的团队来说,这笔账迟早要算。

相关文章

Power BI 2026 年 10 月功能摘要

Power BI 2026 年 10 月功能摘要

距离上一次九月更新才过去没多久,而且当时还赶上了欧洲 Microsoft Fabric + SQL 社区大会,更新量已经不小。

#技术分享#Power BI#Fabric#Copilot
Microsoft Data Factory 的 Amazon Redshift V2 连接器

Microsoft Data Factory 的 Amazon Redshift V2 连接器

微软正在对 Amazon Redshift 连接器进行重要升级,底层驱动将从旧版切换至全新的 Amazon Redshift ODBC 2.x。

#技术分享#Power BI#Fabric
F2容量跑通完整报表方案

F2容量跑通完整报表方案

很多团队一提到 Microsoft Fabric,第一反应就是:F2 这种小容量能干嘛? 跑个 Demo 都嫌卡,更别说承载一套完整的报表解决方案了。

#技术分享#Power BI#最佳实践
近似去重反而更慢?

近似去重反而更慢?

做 DAX 性能优化的人,看到 `APPROXIMATEDISTINCTCOUNT` 这个新函数,第一反应多半是:终于有办法治 `DISTINCTCOUNT` 这个性能杀手了。 但最近一轮实测下来,结论有点打脸——在某些场景下,近似去重反而比精确去重更慢。

#Power BI#最佳实践
近似去重计数:快但准吗?

近似去重计数:快但准吗?

9 月 Power BI 更新后,Import 模式和 Direct Lake 模式的语义模型开始支持 `ApproximateDistinctCount()` 这个 DAX 函数。 我在一个 14 亿行的 Direct Lake 语义模型上做了测试,数据来自纽约出租车样本。

#Power BI#最佳实践
微软与 Snowflake 共同致力于 Apache Ossie

微软与 Snowflake 共同致力于 Apache Ossie

语义层正在成为 AI 驱动分析的关键基础设施,但一个老问题始终困扰着数据团队:同一套业务指标定义,往往要在不同平台之间反复重建。微软与 Snowflake 近期联合宣布对 Apache Ossie(孵化中)项目的承诺,正是冲着这个痛点去的。

#技术分享#Power BI#Fabric#语义模型
有问题?加企业微信 1 对 1 交流 👇
➕ 添加企业微信
备注「白杨」优先通过 · 数据洞察与智能决策
企业微信
企业微信
备注「白杨」优先通过