使用此技能获取有关 Fabric Lakehouse 及其在软件系统和 AI 驱动功能中的特性的上下文信息。它提供 Lakehouse 数据组件、使用架构和快捷方式进行组织、访问控制以及代码示例的描述。此技能支持用户使用最佳实践设计、构建和优化 Lakehouse 解决方案。
何时使用此技能
在以下情况下使用此技能:
- 生成包含 Fabric Lakehouse 定义及其功能的文档或解释。
- 使用最佳实践设计、构建和优化 Lakehouse 解决方案。
- 了解 Microsoft Fabric 中 Lakehouse 的核心概念和组件。
- 学习如何管理 Lakehouse 中的表格数据和非表格数据。
Fabric Lakehouse
核心概念
什么是 Lakehouse?
Microsoft Fabric 中的 Lakehouse 是一个项目,为用户提供存储表格数据(如表)和非表格数据(如文件)的位置。它结合了数据湖的灵活性和数据仓库的管理能力。它提供:
- OneLake 中的统一存储,用于结构化和非结构化数据
- Delta Lake 格式,支持 ACID 事务、版本控制和时间旅行
- SQL 分析端点,用于 T-SQL 查询
- 语义模型,用于 Power BI 集成
- 支持其他表格格式,如 CSV、Parquet
- 支持任何文件格式
- 用于表优化和数据管理的工具
关键组件
- Delta 表:具有 ACID 合规性和模式强制管理的表
- 文件:Files 部分中的非结构化/半结构化数据
- SQL 端点:自动生成的只读 SQL 接口,用于查询
- 快捷方式:指向外部/内部数据的虚拟链接,无需复制
- Fabric 物化视图:预计算表,用于快速查询性能
Lakehouse 中的表格数据
表格数据以表的形式存储在 "Tables" 文件夹下。Lakehouse 中表的主要格式是 Delta。Lakehouse 可以以其他格式(如 CSV 或 Parquet)存储表格数据,但这些格式仅适用于 Spark 查询。
表可以是内部的(数据存储在 "Tables" 文件夹下),也可以是外部的(仅表引用存储在 "Tables" 文件夹下,但数据本身存储在引用的位置)。表通过快捷方式引用,快捷方式可以是内部的(指向 Fabric 中的另一个位置)或外部的(指向存储在 Fabric 外部的数据)。
Lakehouse 中表的架构
创建 Lakehouse 时,用户可以选择启用架构。架构用于组织 Lakehouse 表。架构作为 "Tables" 文件夹下的文件夹实现,并将表存储在这些文件夹内。默认架构是 "dbo",无法删除或重命名。所有其他架构都是可选的,可以创建、重命名或删除。用户可以使用架构快捷方式引用位于另一个 Lakehouse 中的架构,从而通过单个快捷方式引用目标架构中的所有表。
Lakehouse 中的文件
文件存储在 "Files" 文件夹下。用户可以创建文件夹和子文件夹来组织文件。任何文件格式都可以存储在 Lakehouse 中。
Fabric 物化视图
一组预计算表,根据计划自动更新。它们为复杂聚合和连接提供快速查询性能。物化视图使用 PySpark 或 Spark SQL 定义,并存储在关联的 Notebook 中。
Spark 视图
由 SQL 查询定义的逻辑表。它们不存储数据,但提供用于查询的虚拟层。视图使用 Spark SQL 定义,并存储在 Lakehouse 中表旁边。
安全性
项目访问或控制平面安全性
用户可以拥有工作区角色(管理员、成员、参与者、查看者),这些角色提供对 Lakehouse 及其内容的不同访问级别。用户还可以使用 Lakehouse 的共享功能获得访问权限。
数据访问或 OneLake 安全性
对于数据访问,使用基于 Microsoft Entra ID(以前称为 Azure Active Directory)和基于角色的访问控制 (RBAC) 的 OneLake 安全模型。Lakehouse 数据存储在 OneLake 中,因此对数据的访问通过 OneLake 权限进行控制。除了对象级权限外,Lakehouse 还支持表的列级和行级安全性,允许精细控制谁可以查看表中的特定列或行。
Lakehouse 快捷方式
快捷方式创建指向数据的虚拟链接,无需复制:
快捷方式类型
- 内部:链接到其他 Fabric Lakehouse/表,跨工作区数据共享
- ADLS Gen2:链接到 Azure 中的 ADLS Gen2 容器
- Amazon S3:AWS S3 存储桶,跨云数据访问
- Dataverse:Microsoft Dataverse,业务应用程序数据
- Google Cloud Storage:GCS 存储桶,跨云数据访问
性能优化
V-Order 优化
为了在使用语义模型时更快地读取数据,请在 Delta 表上启用 V-Order 优化。这会以改善常见访问模式查询性能的方式对数据进行预排序。
表优化
还可以使用 OPTIMIZE 命令优化表,该命令将小文件压缩为大文件,并且还可以应用 Z-ordering 来改善特定列上的查询性能。随着数据的摄取和更新,定期优化有助于保持性能。Vacuum 命令可用于清理旧文件并释放存储空间,尤其是在更新和删除之后。
沿袭
Lakehouse 项目支持沿袭,允许用户跟踪数据的来源和转换。Lakehouse 中表和文件的沿袭信息会自动捕获,显示数据如何从源流向目标。这有助于调试、审计和理解数据依赖关系。
PySpark 代码示例
有关详细信息,请参阅 PySpark 代码。
将数据导入 Lakehouse
有关详细信息,请参阅 获取数据。






