在 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 功能:
- V2 检查点并非在所有体验中都可用。 只有 Spark 笔记本和 Spark 作业才能使用 V2 检查点读取和写入表。 Lakehouse 和 SQL Analytics 无法正确列出
__delta_log
文件夹中包含 V2 检查点文件的表。 - Delta Lake 3.x 统一。 该功能仅支持数据工程中的 Spark 计算场景(包括 Notebook 和 Spark 作业)。
- 标识列写入(专有 Databricks 功能)
- 增量实时表(专有 Databricks 功能)
- Delta Lake 4.x 功能:类型扩展、排序规则、变体类型、协调提交。
表名中的特殊字符
Microsoft Fabric 支持特殊字符作为表名的一部分。 这允许使用 unicode 字符在 Microsoft Fabric 体验中撰写表名。
以下特殊字符是保留的或与至少一种 Microsoft Fabric 技术不兼容,因此不应作为表名称的一部分:”(双引号)、'(单引号)、#、%、+、:、?、`(反引号)。
相关内容
- 什么是 Delta Lake?
- 详细了解 Fabric Lakehouse 和 Synapse Spark 中的 Delta Lake 表。
- 了解 Power BI 中的 Direct Lake 功能以及 Microsoft Fabric。
- 详细了解如何通过已发布的 Delta Lake 日志从仓库查询表。