Explain, design, build, and optimize Microsoft Fabric Lakehouse solutions using OneLake, Delta tables, Files, SQL analytics endpoints, semantic models, shortcuts, schemas, materialized views, Spark views, security, lineage, ingestion, and table optimization. Use when the user asks about Fabric Lakehouse concepts, architecture, data layout, shortcuts, PySpark, loading data, or Lakehouse best practices.
Use Microsoft Fabric Lakehouse context to explain capabilities, choose storage patterns, organize tabular and non-tabular data, and recommend secure, performant Lakehouse designs.
When to invoke
"Explain what a Fabric Lakehouse is."
"Design a Lakehouse layout for these tables and files."
"How should I use shortcuts in Microsoft Fabric?"
"Optimize these Delta tables for Power BI."
"Show PySpark examples for loading data into a Lakehouse."
Lakehouse model
A Lakehouse in Microsoft Fabric is an item that stores tabular data and non-tabular files in OneLake. It combines data lake flexibility with warehouse-style management.
Capability
Lakehouse behavior
Unified storage
OneLake stores structured and unstructured data.
Table format
Delta Lake is the primary table format, with ACID transactions, versioning, and time travel.
Other tabular formats
CSV and Parquet can be stored and queried with Spark, but Delta is the managed table default.
SQL analytics endpoint
Auto-generated read-only SQL endpoint for T-SQL querying.
Semantic model
Power BI integration through the Lakehouse semantic model.
Files
Any file format can be stored under the Files folder.
Optimization
Table optimization, V-Order, OPTIMIZE, Z-ordering, and VACUUM support performance and maintenance.
Storage layout and table organization
Area
Use for
Notes
Tables
Managed tabular data
Delta tables live here by default.
Tables/<schema>/<table>
Schema-enabled table organization
Schemas are folders under Tables; dbo is the default schema and cannot be deleted or renamed.
Files
Unstructured and semi-structured data
Create folders and subfolders for any file format.
Internal tables
Data stored under Tables
Best for Lakehouse-owned data.
External tables
Reference under Tables, data elsewhere
Often backed by shortcuts.
Schema Shortcut
Reference to a schema in another Lakehouse
Brings all tables in the destination schema through one shortcut.
When creating a Lakehouse, decide whether to enable schemas. Non-dbo schemas can be created, renamed, and deleted.
Shortcuts and virtualization
Shortcuts create virtual links to data without copying it.
Shortcut type
Use case
Internal
Link to other Fabric Lakehouses or tables, including cross-workspace sharing.
ADLS Gen2
Link to Azure Data Lake Storage Gen2 containers.
Amazon S3
Link to AWS S3 buckets for cross-cloud access.
Dataverse
Link to Microsoft Dataverse business application data.
Google Cloud Storage
Link to GCS buckets for cross-cloud access.
Use shortcuts when governance, freshness, or data volume makes copying undesirable. Use managed Delta tables when the Lakehouse owns transformation output.
Views and derived data
Construct
Stores data
Defined with
Use when
Fabric Materialized Views
Yes, as pre-computed tables
PySpark or Spark SQL in an associated Notebook
Complex aggregations or joins need fast scheduled refresh.
Spark Views
No
Spark SQL, stored in the Lakehouse next to Tables
A virtual query layer is enough and storage duplication is undesirable.
The answer distinguishes Tables from Files and Delta from CSV/Parquet where relevant.
Schema behavior, including default dbo, was handled correctly when schemas are discussed.
Shortcut recommendations name the correct source type: Internal, ADLS Gen2, Amazon S3, Dataverse, or Google Cloud Storage.
Security guidance covers both Fabric item access and OneLake data access when access control is in scope.
Performance advice chooses among V-Order, OPTIMIZE, Z-ordering, VACUUM, Spark Views, and Fabric Materialized Views based on workload.
Bundled references/pyspark.md or references/getdata.md is used only when deeper examples are needed.
1---2name: fabric-lakehouse-23description: Explain, design, build, and optimize Microsoft Fabric Lakehouse solutions using OneLake, Delta tables, Files, SQL analytics endpoints, semantic models, shortcuts, schemas, materialized views, Spark views, security, lineage, ingestion, and table optimization. Use when the user asks about Fabric Lakehouse concepts, architecture, data layout, shortcuts, PySpark, loading data, or Lakehouse best practices.4---56# Fabric Lakehouse78Use Microsoft Fabric Lakehouse context to explain capabilities, choose storage patterns, organize tabular and non-tabular data, and recommend secure, performant Lakehouse designs.910## When to invoke1112- "Explain what a Fabric Lakehouse is."13- "Design a Lakehouse layout for these tables and files."14- "How should I use shortcuts in Microsoft Fabric?"15- "Optimize these Delta tables for Power BI."16- "Show PySpark examples for loading data into a Lakehouse."1718## Lakehouse model1920A Lakehouse in Microsoft Fabric is an item that stores tabular data and non-tabular files in OneLake. It combines data lake flexibility with warehouse-style management.2122| Capability | Lakehouse behavior |23| --- | --- |24| Unified storage | OneLake stores structured and unstructured data. |25| Table format | Delta Lake is the primary table format, with ACID transactions, versioning, and time travel. |26| Other tabular formats | CSV and Parquet can be stored and queried with Spark, but Delta is the managed table default. |27| SQL analytics endpoint | Auto-generated read-only SQL endpoint for T-SQL querying. |28| Semantic model | Power BI integration through the Lakehouse semantic model. |29| Files | Any file format can be stored under the `Files` folder. |30| Optimization | Table optimization, V-Order, `OPTIMIZE`, Z-ordering, and `VACUUM` support performance and maintenance. |3132## Storage layout and table organization3334| Area | Use for | Notes |35| --- | --- | --- |36| `Tables` | Managed tabular data | Delta tables live here by default. |37| `Tables/<schema>/<table>` | Schema-enabled table organization | Schemas are folders under `Tables`; `dbo` is the default schema and cannot be deleted or renamed. |38| `Files` | Unstructured and semi-structured data | Create folders and subfolders for any file format. |39| Internal tables | Data stored under `Tables` | Best for Lakehouse-owned data. |40| External tables | Reference under `Tables`, data elsewhere | Often backed by shortcuts. |41| Schema Shortcut | Reference to a schema in another Lakehouse | Brings all tables in the destination schema through one shortcut. |4243When creating a Lakehouse, decide whether to enable schemas. Non-`dbo` schemas can be created, renamed, and deleted.4445## Shortcuts and virtualization4647Shortcuts create virtual links to data without copying it.4849| Shortcut type | Use case |50| --- | --- |51| Internal | Link to other Fabric Lakehouses or tables, including cross-workspace sharing. |52| ADLS Gen2 | Link to Azure Data Lake Storage Gen2 containers. |53| Amazon S3 | Link to AWS S3 buckets for cross-cloud access. |54| Dataverse | Link to Microsoft Dataverse business application data. |55| Google Cloud Storage | Link to GCS buckets for cross-cloud access. |5657Use shortcuts when governance, freshness, or data volume makes copying undesirable. Use managed Delta tables when the Lakehouse owns transformation output.5859## Views and derived data6061| Construct | Stores data | Defined with | Use when |62| --- | --- | --- | --- |63| Fabric Materialized Views | Yes, as pre-computed tables | PySpark or Spark SQL in an associated Notebook | Complex aggregations or joins need fast scheduled refresh. |64| Spark Views | No | Spark SQL, stored in the Lakehouse next to Tables | A virtual query layer is enough and storage duplication is undesirable. |65| SQL analytics endpoint objects | Read-only endpoint surface | Generated from Lakehouse tables | Consumers need T-SQL read access. |6667## Security and governance6869| Layer | Controls |70| --- | --- |71| Item access / control plane | Workspace roles: Admin, Member, Contributor, Viewer; Lakehouse sharing capabilities. |72| Data access / OneLake security | Microsoft Entra ID and RBAC on OneLake data. |73| Fine-grained table security | Object-level permissions plus column-level and row-level security for tables. |74| Lineage | Lakehouse lineage tracks origins and transformations for tables and files. |7576Design access at both the Fabric item layer and the OneLake data layer. Do not assume workspace visibility grants every data operation.7778## Performance optimization7980| Technique | Use it for | Notes |81| --- | --- | --- |82| V-Order optimization | Faster reads for semantic model and common analytic access patterns | Presorts Delta data to improve query performance. |83| `OPTIMIZE` | Compact many small files into larger files | Run after high-volume ingestion or frequent updates. |84| Z-ordering | Improve queries filtered by specific columns | Apply with `OPTIMIZE` when access patterns are known. |85| `VACUUM` | Remove old files and free storage after updates/deletes | Balance cleanup with time-travel retention needs. |86| Materialized views | Precompute expensive aggregations and joins | Refresh on a schedule through the associated Notebook. |8788## Progressive disclosure and bundled resources8990- `references/pyspark.md`: PySpark code examples for Lakehouse operations.91- `references/getdata.md`: data ingestion approaches and loading guidance.9293Use `Lakehouses/tables` wording when discussing internal shortcuts across Fabric items. Distinguish `Unstructured/semi-structured` files, `external/internal` shortcut targets, `role-based` access control, `object-level` permissions, and `fine-grained` row or column controls.9495## Output template9697```markdown98## Fabric Lakehouse guidance99100**Status:** guidance | design | blocked101**Scenario:** `<question or workload>`102103### Recommended Lakehouse shape104| Area | Recommendation | Rationale |105| --- | --- | --- |106| Storage | `<Tables/Files/shortcut layout>` | `<why>` |107| Security | `<workspace/OneLake/RLS/CLS>` | `<why>` |108| Performance | `<V-Order/OPTIMIZE/Z-order/materialized view>` | `<why>` |109110### Next actions1111. `<action>`1122. `<action>`1133. `<validation>`114```115116## Quality gate117118- [ ] The answer distinguishes `Tables` from `Files` and Delta from CSV/Parquet where relevant.119- [ ] Schema behavior, including default `dbo`, was handled correctly when schemas are discussed.120- [ ] Shortcut recommendations name the correct source type: Internal, ADLS Gen2, Amazon S3, Dataverse, or Google Cloud Storage.121- [ ] Security guidance covers both Fabric item access and OneLake data access when access control is in scope.122- [ ] Performance advice chooses among V-Order, `OPTIMIZE`, Z-ordering, `VACUUM`, Spark Views, and Fabric Materialized Views based on workload.123- [ ] Bundled `references/pyspark.md` or `references/getdata.md` is used only when deeper examples are needed.
Run npx skillmds@latest add paulasilvatech/fabric-lakehouse-2 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Explain, design, build, and optimize Microsoft Fabric Lakehouse solutions using OneLake, Delta tables, Files, SQL analytics endpoints, semantic models, shortcuts, schemas, materialized views, Spark views, security, lineage, ingestion, and table optimization. Use when the user asks about Fabric Lakehouse concepts, architecture, data layout, shortcuts, PySpark, loading data, or Lakehouse best practices. It is listed under Data & Analytics on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
paulasilvatech (@paulasilvatech) published this skill. Their other Agent Skills are listed on their SkillMD profile.