e2e-medallion-architecture

Implements Bronze/Silver/Gold medallion lakehouse architectures in Microsoft Fabric using PySpark and Delta Lake.

Updated Jul 14, 2026
One-click install
npx skills add https://github.com/9vantage/skills-for-fabric-clone --skill e2e-medallion-architecture-9vantage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: e2e-medallion-architecture
Source: https://github.com/9vantage/skills-for-fabric-clone/tree/main/plugins/fabric-authoring/skills/e2e-medallion-architecture
Command: npx skills add https://github.com/9vantage/skills-for-fabric-clone --skill e2e-medallion-architecture-9vantage

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up a multi-layer data lakehouse in Microsoft Fabric involves many error-prone steps: provisioning workspaces and lakehouses, writing PySpark notebooks, binding lakehouses, orchestrating Bronze-to-Silver-to-Gold execution, and connecting Power BI. This Skill guides the full lifecycle so nothing is left half-deployed. ## Core Features & Use Cases - Layered Architecture Setup: Creates schema-enabled lakehouses (or separate Bronze/Silver/Gold workspaces) with appropriate RBAC and governance patterns. - Transformation Patterns: Provides ingestion, data quality, deduplication, schema evolution, and aggregation patterns for each medallion layer using Delta Lake and PySpark. - End-to-End Orchestration: Deploys notebooks via the Fabric REST API, executes them sequentially, validates results, and connects Power BI via Direct Lake semantic models. - Use Case: Ask to build a medallion architecture for NYC taxi data, and the Skill provisions lakehouses, generates ingestion/cleaning/aggregation notebooks, runs them in order, and surfaces Gold tables in a Power BI report. ## Quick Start Use Microsoft Fabric skills to design a medallion architecture with Bronze, Silver, and Gold lakehouses for my sales data and connect the Gold layer to Power BI.

Frequently Asked Questions about e2e-medallion-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a medallion architecture in Microsoft Fabric?

Create a schema-enabled lakehouse with bronze, silver, and gold schemas, then deploy one PySpark notebook per layer via the Fabric REST API. Bind each notebook to the lakehouse, execute them sequentially Bronze to Gold, and connect Power BI to the Gold layer using Direct Lake.

How to build Bronze Silver Gold data pipelines with PySpark?

Land raw files in the lakehouse Files folder, write Bronze tables with metadata columns like ingestion timestamp and batch ID, apply deduplication and validation in Silver, and pre-aggregate metrics in Gold. Orchestrate the layers with a Fabric pipeline using sequential notebook activities.

Should I use one lakehouse or separate lakehouses for medallion layers?

Prefer one schema-enabled lakehouse with bronze, silver, and gold schemas, which supports Materialized Lake Views and row-level security out of box. Use separate lakehouses or workspaces only when schema-enabled lakehouses are unavailable or governance requires isolation.

Can Spark in Microsoft Fabric read data directly from HTTP URLs?

No, Fabric Spark cannot read from arbitrary HTTP or HTTPS URLs. Land external data in the lakehouse Files folder first using a pipeline Copy activity, OneLake API upload, or OneLake shortcut, then read from the lakehouse-relative path.

Why does my Fabric notebook fail after REST API deployment?

Notebook failures often come from invalid .ipynb structure, such as missing "outputs": [] or "execution_count": null on code cells, or from a missing default lakehouse binding. Ensure metadata.dependencies.lakehouse includes the lakehouse ID, name, and workspace ID.

How do I connect Power BI to the Gold layer of a lakehouse?

Discover the Gold lakehouse SQL endpoint from the lakehouse properties, wait for provisioning to succeed, then create a semantic model in Direct Lake mode referencing the Gold Delta tables. Build a report on that model and validate with DAX queries.