在 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 编写器 | 表优化和维护 | Partitions | 液体聚类分析 | TIMESTAMP_NTZ | Delta 数据读取器/写入器版本和默认表格特性 |
|---|---|---|---|---|---|---|---|---|
| 数据仓库 Delta Lake 导出 | 名称:是 ID:无 |
是的 | 是的 | 是的 | 读取:N/A (不适用) 写入:否 |
不 | 不 | 读取器:3 编写器:7 删除向量, 列映射(名称) |
| SQL 分析端点 | 名称:是 ID:无 |
是的 | N/A (不适用) | N/A (不适用) | 阅读:是 写入:N/A(不适用) |
是的 | 不 | N/A (不适用) |
| Lakehouse 资源管理器和预览版 | 名称:是 ID:无 |
是的 | N/A (不适用) | 是的 | 阅读:是 写入:N/A(不适用) |
是的 | 是的 | N/A (不适用) |
| Fabric Spark 运行时 1.3 | 名称:是 ID:是 |
是的 | 是的 | 是的 | 阅读:是 写入:是 |
是的 | 是的 | 读取器:1 作家:2 |
| Fabric Spark 运行环境 1.2 | 名称:是 ID:是 |
是的 | 是的 | 是的 | 阅读:是 写入:是 |
是,只读 | 是的 | 读取器:1 作家:2 |
| Fabric Spark 运行环境 1.1 | 名称:是 ID:是 |
不 | 是的 | 是的 | 阅读:是 写入:是 |
是,只读 | 不 | 读取器:1 作家:2 |
| 数据流第二代 | 名称:是 ID:无 |
是的 | 是的 | 不 | 阅读:是 写入:是 |
是,只读 | 不 | 读取器:1 作家:2 |
| Pipelines | 名称:否 ID:无 |
不 | 是的 | 不 | 阅读:是 写入:是,只允许覆盖 |
是,只读 | 不 | 读取器:1 作家:2 |
| Power BI direct Lake 语义模型 | 名称:是 ID:无 |
是的 | N/A (不适用) | N/A (不适用) | 阅读:是 写入:N/A(不适用) |
是的 | 不 | N/A (不适用) |
| 将 Power BI 语义模型导出到 OneLake | 名称:是 ID:无 |
N/A (不适用) | 是的 | 不 | 读取:N/A (不适用) 写入:否 |
不 | 不 | 读取器:2 编写器:5 列映射(名称) |
| KQL 数据库 | 名称:是 ID:无 |
是的 | 不 | 否* | 阅读:是 写入:是 |
不 | 不 | 读取器:1 作者:1 |
| 事件流 | 名称:否 ID:无 |
不 | 不 | 不 | 读取:N/A (不适用) 写入:是 |
不 | 不 | 读取器:1 作家:2 |
* KQL 数据库提供某些表维护功能,例如保留。 在 OneLake 保留期结束时删除数据。 有关详细信息,请参阅一个逻辑副本。
备注
- 默认情况下,Fabric 不会写入列映射,除非有说明。 默认 Fabric 体验生成跨服务兼容的表。 由第三方服务生成的 Delta Lake 表可能具有不兼容的表功能。
- 某些 Fabric 体验不提供表格优化和维护功能,例如 bin-compaction、V 顺序、删除向量合并(PURGE)和清理旧的未引用文件(VACUUM)。 若要使 Delta Lake 表保持最佳分析效果,请为使用这些体验引入的表使用“使用表维护功能管理 Fabric 中的增量表”中所述的技术。
当前限制
目前,Fabric 不支持以下 Delta Lake 功能:
- V2 检查点在所有体验中都不统一可用。 只有 Spark 笔记本和 Spark 作业才能使用 V2 检查点读取和写入表。 Lakehouse 和 SQL Analytics 无法正确列出
__delta_log文件夹中包含 V2 检查点文件的表。 - Delta Lake 3.x 统一。 此功能仅在数据工程 Spark 计算(笔记本、Spark 作业)中受支持。
- 标识列写入(Azure Databricks 功能)
- Lakeflow Spark 声明性管道(Azure 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 日志从仓库查询表。