湖屋和 Delta Lake 表

Microsoft Fabric 湖屋是一个数据体系结构平台,用于在单个位置存储、管理和分析结构化数据和非结构化数据。 为了在 Microsoft Fabric 中实现跨所有计算引擎的无缝数据访问,选择了 Delta Lake 作为统一表格式。

使用“加载到表”等功能或用于将数据导入 Fabric 湖屋的选项中所述的方法将数据保存到湖屋中,所有数据都以 Delta 格式保存。

有关 Delta Lake 表格式的更全面介绍,请参阅后续步骤部分中的链接。

大数据、Apache Spark 和旧表格式

Microsoft Fabric Runtime for Apache Spark 使用与适用于 Apache Spark 的 Azure Synapse Analytics Runtime 相同的基础,但包含一些关键差异,以便在 Microsoft Fabric 服务中的所有引擎之间提供更简化的行为。 在 Microsoft Fabric 中,默认启用关键性能功能。 高级 Apache Spark 用户可能会将配置还原为以前的值,以便更好地与特定方案保持一致。

Microsoft Fabric 湖屋和 Apache Spark 引擎支持所有表类型,包括托管表和非托管表类型;这包括视图和常规的非 Delta Hive 表格式。 使用 PARQUET、CSV、AVRO、JSON 和任何 Apache Hive 兼容文件格式定义的表按预期工作。

湖屋资源管理器用户界面体验因表类型而异。 目前,湖屋资源管理器仅呈现表对象。

Azure Synapse Analytics 的配置差异

下表包含 Azure Synapse Analytics 与适用于 Apache Spark 的 Microsoft Fabric Runtime 之间的配置差异。

Apache Spark 配置 Microsoft Fabric 值 Azure Synapse Analytics 值 备注
spark.sql.sources.default delta parquet 默认表格式
spark.sql.parquet.vorder.enabled 不适用 V 顺序编写器
spark.sql.parquet.vorder.dictionaryPageSize 2 GB 空值 V 顺序的字典页大小限制
spark.microsoft.delta.optimizeWrite.enabled 取消设置 (false) 优化写入

表的自动发现

湖屋资源管理器提供 Microsoft Fabric 湖屋项中对象的树状视图。 它具有发现和显示元数据存储库和 OneLake 存储中描述的表的关键功能。 表引用显示在湖屋资源管理器用户界面的 Tables 部分下。 自动发现也适用于通过 OneLake 快捷方式定义的表。

基于快捷方式的表

Microsoft Fabric 湖屋支持通过 OneLake 快捷方式定义的表,可提供最大的兼容性且无需移动数据。 下表包含每个项类型在基于快捷方式使用时的方案最佳做法。

快捷方式目标 在何处创建快捷方式 最佳做法
Delta Lake 表 Tables 部分 如果目标中存在多个表,请为每个表创建一个快捷方式。
包含文件的文件夹 Files 部分 使用 Apache Spark 直接通过相对路径来使用目标。 将数据加载到湖屋本机 Delta 表中,以获得最佳性能。
旧版 Apache Hive 表 Files 部分 使用 Apache Spark 直接通过相对路径来使用目标,或使用 CREATE EXTERNAL TABLE 语法创建元数据目录引用。 将数据加载到湖屋本机 Delta 表中,以获得最佳性能。

加载到表

Microsoft Fabric 湖屋提供方便高效的用户界面,便于将数据加载到 Delta 表。 “加载到表”功能可提供将常用文件格式加载到 Delta 的可视化体验,以提高所有角色的分析效率。 若要详细了解“加载到表”功能的详细信息,请阅读湖屋加载到表参考文档。

Delta Lake 表优化

保持表适合广泛的分析方案并不是一件小事。 Microsoft Fabric 湖屋主动启用重要参数,以最大程度地减少与大数据表相关的常见问题(如压缩和文件较小),并最大程度地提高查询性能。 不过,在许多方案中,这些参数需要更改。 Delta Lake 表优化和 V 顺序一文介绍了一些关键方案,并提供了有关如何高效维护 Delta 表以实现最佳性能的深入指南。