Delta Lake 表格式互操作性

在 Microsoft Fabric 中,Delta Lake 表格式是分析的标准。 Delta Lake 是一个开源存储层,它为大数据和分析工作负载带来了 ACID(原子性、一致性、隔离、持久性)事务。

所有 Fabric 体验都会生成和使用 Delta Lake 表,从而推动互操作性和统一的产品体验。 由一个计算引擎(如 Fabric 数据仓库或 Synapse Spark)生成的 Delta Lake 表可由任何其他引擎(如 Power BI)使用。 将数据引入 Fabric 时,Fabric 默认将其存储为 Delta 表。 可以使用 OneLake 快捷方式轻松集成包含 Delta Lake 表的外部数据。

Delta Lake 功能和 Fabric 体验

为了实现互操作性,Delta Lake 功能和 Fabric 功能上的所有 Fabric 体验将保持一致。 某些体验只能写入 Delta Lake 表,而其他体验则可从中读取。

  • 写入器:数据仓库、Eventstream 和导出到 OneLake 的 Power BI 语义模型
  • 读取器:SQL 分析终结点和 Power BI 直接湖语义模型
  • 编写器和读取器:Fabric Spark 运行时、数据流、数据管道和 Kusto 查询语言 (KQL) 数据库

以下矩阵显示了主要 Delta Lake 特性及其在每个 Fabric 功能上的支持情况。

Fabric 功能 基于名称的列映射 删除向量 V-order 编写器 表优化和维护 写入分区 读取分区 液体聚类分析 TIMESTAMP_NTZ Delta 数据读取器/写入器版本和默认表格特性
数据仓库 Delta Lake 导出 是的 是的 是的 是的 读取器:3
编写器:7
删除向量
SQL 分析端点 是的 是的 N/A (不适用) N/A (不适用) N/A (不适用) 是的 是的 N/A (不适用)
Fabric Spark 运行时 1.3 是的 是的 是的 是的 是的 是的 是的 是的 读取器:1
作家:2
Fabric Spark 运行环境 1.2 是的 是的 是的 是的 是的 是的 是,只读 是的 读取器:1
作者:2
Fabric Spark 运行环境 1.1 是的 是的 是的 是的 是的 是,只读 读取器:1
作者:2
数据流 是的 是的 是的 是的 是的 是,只读 读取器:1
作者:2
数据管道 是的 是,仅覆盖 是的 是,只读 读取器:1
撰稿人:2
Power BI direct Lake 语义模型 是的 是的 N/A (不适用) N/A (不适用) N/A (不适用) 是的 是的 N/A (不适用)
将 Power BI 语义模型导出到 OneLake 是的 N/A (不适用) 是的 是的 N/A (不适用) 读取器:2
编写器:5
KQL 数据库 是的 是的 * 是的 是的 读取器:1
作者:1
事件流 是的 N/A (不适用) 读取器:1
作家:2

* KQL 数据库提供某些表维护功能,例如保留。 在 OneLake 保留期结束时删除数据。 有关详细信息,请参阅一个逻辑副本

注意

  • 默认情况下,Fabric 不会编写基于名称的列映射。 默认 Fabric 体验生成跨服务兼容的表。 由第三方服务生成的 Delta Lake 可能具有不兼容的表特性。
  • 某些 Fabric 体验没有继承的表优化和维护功能,例如 bin 压缩、V 顺序和清理旧的未引用文件。 若要使 Delta Lake 表保持最佳分析效果,请为使用这些体验引入的表使用“使用表维护功能管理 Fabric 中的增量表”中所述的技术。

当前限制

目前,Fabric 不支持以下 Delta Lake 功能:

  • Delta Lake 3.x Uniform
  • 标识列写入(专有 Databricks 功能)
  • 增量实时表(专有 Databricks 功能)
  • 对检查点文件启用了 RLE(运行长度编码)