Microsoft Fabric Lakehouse 使用 Delta Lake 作为默认和首选表格式,以提供可靠的高性能数据存储和处理。 虽然支持其他格式,但 Delta Lake 在所有 Fabric 服务中提供最佳集成和性能。 本文介绍 Delta Lake 表是什么、它们如何在 Fabric 中工作,以及如何从数据中获取最佳性能。
什么是 Delta Lake 表?
将数据存储在 Microsoft Fabric Lakehouse 中时,将使用名为 Delta Lake 的特殊格式自动保存数据。 将 Delta Lake 视为提供常规数据文件的增强版本:
- 更好的性能 - 更快的查询和数据处理
- 数据可靠性 - 自动错误检查和数据完整性
- 灵活性 - 适用于结构化数据(如数据库表)和半结构化数据(如 JSON 文件)
为什么了解这一点很重要?
Delta Lake 是 Fabric Lakehouse 中所有数据 的标准表格式 。 这意味着:
- 一致性:所有数据都使用相同的格式,以便更轻松地使用
- 兼容性:数据在所有 Fabric 工具(Power BI、笔记本、数据管道等)之间无缝工作。
- 没有额外的工作:将数据 加载到表中 或使用其他 数据加载方法时,将自动应用 Delta 格式
无需担心技术详细信息 - Fabric 处理后台的 Delta Lake 格式设置。 本文介绍如何工作以及如何从数据中获得最佳性能。
Apache Spark 引擎和数据格式
Fabric Lakehouse 由 Apache Spark 运行时提供支持,它基于与用于 Apache Spark 的 Azure Synapse Analytics Runtime 相同的基础。 但是,Fabric 包括优化和不同的默认设置,以在所有 Fabric 服务中提供更好的性能。
支持的数据格式:
- Delta Lake - 首选格式(自动优化)
- CSV 文件 - 类似电子表格的数据文件
- JSON 文件 - Web 和应用程序数据
- Parquet 文件 - 压缩数据文件
- 其他格式 - AVRO 和旧版 Hive 表格式
Fabric 的 Apache Spark 的主要优势:
- 默认优化:自动启用性能功能以提高速度
- 支持的多种格式:可以从各种格式的现有文件中读取
- 自动转换:将数据加载到表中时,它会自动使用 Delta Lake 格式进行优化
注释
虽然可以使用不同的文件格式,但 Lakehouse 资源管理器中显示的表已针对 Delta Lake 表进行了优化,以获得最佳性能和可靠性。
与 Azure Synapse Analytics 的差异
如果要从 Azure Synapse Analytics 迁移,下面是 Fabric Apache Spark 运行时的主要配置差异:
| Apache Spark 配置 | Microsoft Fabric 值 | Azure Synapse Analytics 值 | 备注 |
|---|---|---|---|
| spark.sql.sources.default | 三角洲 | 拼花地板 | 默认表格式 |
| spark.sql.parquet.vorder.default | 是 | 不适用 | V 顺序编写器 |
| spark.sql.parquet.vorder.dictionaryPageSize | 2 GB | 不适用 | V 顺序的字典页大小限制 |
| spark.databricks.delta.optimizeWrite.enabled | 是 | 取消设置 (false) | 优化写入 |
这些优化旨在为 Fabric 提供开箱即用的更好性能。 如果需要特定方案,高级用户可以修改这些配置。
Fabric 自动发现您的表格的方法
打开 Lakehouse 时,Fabric 会自动扫描您的数据,并在资源管理器的“表格”部分显示它找到的所有表格。 这意味着:
- 无需手动设置 - Fabric 会自动发现现有表
- 组织视图 - 表格显示在树结构中,便于导航
- 与快捷方式配合工作 - 从其他位置链接的表格也会被自动发现
通过这种自动发现,可以轻松地一目了然地查看所有可用数据。
基于快捷方式的表
Microsoft Fabric Lakehouse 支持通过 OneLake 快捷方式定义的表,以提供最大的兼容性和无数据移动。 下表包含每个项类型在快捷方式上使用时的方案最佳做法。
| 快捷方式目标 | 在何处创建快捷方式 | 最佳做法 |
|---|---|---|
| Delta Lake 表 |
Tables 部分 |
如果目标中存在多个表,请为每个表创建一个快捷方式。 |
| 包含文件的文件夹 |
Files 部分 |
使用 Apache Spark 直接通过相对路径来使用目标。 将数据加载到 Lakehouse 原生 Delta 表中,以实现最佳性能。 |
| 旧版 Apache Hive 表 |
Files 部分 |
使用 Apache Spark 直接通过相对路径来使用目标,或使用 CREATE EXTERNAL TABLE 语法创建元数据目录引用。 将数据加载到 Lakehouse 原生 Delta 表中,以实现最佳性能。 |
加载到表
Microsoft Fabric 湖屋提供方便高效的用户界面,便于将数据加载到 Delta 表。 “加载到表”功能允许以可视化的方式将通用文件格式加载到 Delta,提高所有用户的分析效率。 若要详细了解“加载到表”功能,请阅读“加载到 Delta Lake 表”参考文档。
确保表格快速高效
Fabric 会自动优化 Delta Lake 表以提高性能,但有时您可能希望拥有更多控制权:
Fabric 自动执行的操作:
- 将小文件合并成更大、更高效的文件
- 优化数据布局以加快查询速度
- 管理存储以降低成本
可能需要手动优化时:
- 具有特定性能要求的非常大的数据集
- 自定义数据组织需求
- 高级分析场景
有关表优化的详细指南,请参阅 Delta Lake 表优化和 V 顺序。