fabric-lakehouse
github/awesome-copilot
利用這項技能,您可以瞭解Fabric Lakehouse及其為軟體系統和人工智慧功能所提供的各項特性。它提供了關於Lakehouse資料元件的描述、基於模式的資料組織結構與快捷方式、訪問控制機制,以及程式碼示例。這項技能能夠幫助使用者運用最佳實踐來設計、構建和最佳化Lakehouse解決方案。
...展開全部關於fabric-lakehouse
fabric-lakehouse技能為使用者提供了關於Fabric Lakehouse的全面瞭解。Fabric Lakehouse是一種混合資料管理解決方案,它結合了資料湖的靈活性和資料倉儲的結構化管理方式。這一技能有助於使用者清晰地理解Lakehouse的核心元件和功能,從而有效地設計、構建和最佳化他們的資料解決方案。透過提供詳細的描述和程式碼示例,這一技能使使用者能夠在資料管理策略中運用最佳實踐。
常見問題解答
fabric-lakehouse技能的主要用途是什麼?
其主要目的是為使用者提供關於Fabric Lakehouse的背景資訊和使用指南,包括它的特點以及資料管理的最佳實踐。
在Lakehouse中可以使用不同的檔案格式嗎?
可以。Lakehouse支援多種檔案格式,包括CSV、Parquet以及用於非結構化資料的其它檔案格式。
建立的模式有哪些限制嗎?
雖然預設模式“dbo”不能被刪除或重新命名,但使用者可以建立、重新命名或刪除其他可選模式。
Lakehouse可以儲存哪些型別的資料?
Lakehouse能夠將表格資料(如表格)和非表格資料(如檔案)統一儲存在同一個系統中。
管理Lakehouse訪問許可權有哪些角色可供選擇?
使用者可以選擇諸如管理員、成員、貢獻者和檢視者等工作室角色,這些角色分別提供不同級別的訪問許可權。
When to Use This Skill
Use this skill when you need to:
- Generate a document or explanation that includes definition and context about Fabric Lakehouse and its capabilities.
- Design, build, and optimize Lakehouse solutions using best practices.
- Understand the core concepts and components of a Lakehouse in Microsoft Fabric.
- Learn how to manage tabular and non-tabular data within a Lakehouse.
Fabric Lakehouse
Core Concepts
What is a Lakehouse?
Lakehouse in Microsoft Fabric is an item that gives users a place to store their tabular data (like tables) and non-tabular data (like files). It combines the flexibility of a data lake with the management capabilities of a data warehouse. It provides:
- Unified storage in OneLake for structured and unstructured data
- Delta Lake format for ACID transactions, versioning, and time travel
- SQL analytics endpoint for T-SQL queries
- Semantic model for Power BI integration
- Support for other table formats like CSV, Parquet
- Support for any file formats
- Tools for table optimization and data management
Key Components
- Delta Tables: Managed tables with ACID compliance and schema enforcement
- Files: Unstructured/semi-structured data in the Files section
- SQL Endpoint: Auto-generated read-only SQL interface for querying
- Shortcuts: Virtual links to external/internal data without copying
- Fabric Materialized Views: Pre-computed tables for fast query performance
Tabular data in a Lakehouse
Tabular data in a form of tables are stored under "Tables" folder. Main format for tables in Lakehouse is Delta. Lakehouse can store tabular data in other formats like CSV or Parquet, these formats are only available for Spark querying.Tables can be internal, when data is stored under "Tables" folder, or external, when only reference to a table is stored under "Tables" folder but the data itself is stored in a referenced location. Tables are referenced through Shortcuts, which can be internal (pointing to another location in Fabric) or external (pointing to data stored outside of Fabric).
Schemas for tables in a Lakehouse
When creating a lakehouse, users can choose to enable schemas. Schemas are used to organize Lakehouse tables. Schemas are implemented as folders under the "Tables" folder and store tables inside of those folders. The default schema is "dbo" and it can't be deleted or renamed. All other schemas are optional and can be created, renamed, or deleted. Users can reference a schema located in another lakehouse using a Schema Shortcut, thereby referencing all tables in the destination schema with a single shortcut.
Files in a Lakehouse
Files are stored under "Files" folder. Users can create folders and subfolders to organize their files. Any file format can be stored in Lakehouse.
Fabric Materialized Views
Set of pre-computed tables that are automatically updated based on a schedule. They provide fast query performance for complex aggregations and joins. Materialized views are defined using PySpark or Spark SQL and stored in an associated Notebook.
Spark Views
Logical tables defined by a SQL query. They do not store data but provide a virtual layer for querying. Views are defined using Spark SQL and stored in Lakehouse next to Tables.
Security
Item access or control plane security
Users can have workspace roles (Admin, Member, Contributor, Viewer) that provide different levels of access to Lakehouse and its contents. Users can also get access permission using sharing capabilities of Lakehouse.
Data access or OneLake Security
For data access use OneLake security model, which is based on Microsoft Entra ID (formerly Azure Active Directory) and role-based access control (RBAC). Lakehouse data is stored in OneLake, so access to data is controlled through OneLake permissions. In addition to object-level permissions, Lakehouse also supports column-level and row-level security for tables, allowing fine-grained control over who can see specific columns or rows in a table.
Lakehouse Shortcuts
Shortcuts create virtual links to data without copying:
Types of Shortcuts
- Internal: Link to other Fabric Lakehouses/tables, cross-workspace data sharing
- ADLS Gen2: Link to ADLS Gen2 containers in Azure
- Amazon S3: AWS S3 buckets, cross-cloud data access
- Dataverse: Microsoft Dataverse, business application data
- Google Cloud Storage: GCS buckets, cross-cloud data access
Performance Optimization
V-Order Optimization
For faster data read with semantic model enable V-Order optimization on Delta tables. This presorts data in a way that improves query performance for common access patterns.
Table Optimization
Tables can also be optimized using the OPTIMIZE command, which compacts small files into larger ones and can also apply Z-ordering to improve query performance on specific columns. Regular optimization helps maintain performance as data is ingested and updated over time. The Vacuum command can be used to clean up old files and free up storage space, especially after updates and deletes.
Lineage
The Lakehouse item supports lineage, which allows users to track the origin and transformations of data. Lineage information is automatically captured for tables and files in Lakehouse, showing how data flows from source to destination. This helps with debugging, auditing, and understanding data dependencies.
PySpark Code Examples
See PySpark code for details.
Getting data into Lakehouse
See Get data for details.





首頁
