LevelUpWith

Explore / Microsoft Fabric Data Engineer (DP-700) Exam Prep / Lesson 2

Lesson 2: Fabric and OneLake Primer for Data Engineers

[Implement and manage an analytics solution] A primer for the whole syllabus: capacities, workspaces and items, OneLake as one Delta-Parquet data lake per tenant, and how the Lakehouse, Warehouse, Eventhouse, pipelines, notebooks and Dataflow Gen2 fit together.

Free to read, no account needed. Part of Microsoft Fabric Data Engineer (DP-700) Exam Prep.

By the end of this level you'll be able to

  • Explain how tenant, capacity, workspace and item relate, and where OneLake stores each item's data
  • Tell apart a Lakehouse (Spark plus a read-only SQL analytics endpoint), a Warehouse (T-SQL read/write) and an Eventhouse (KQL databases)
  • Create a workspace and a lakehouse in the portal, and query a Delta table with Spark SQL and with the SQL analytics endpoint

Why start with the map?

Every DP-700 objective, from Spark settings to Eventstream tuning, assumes you know how Fabric is laid out. If you misread the layout, many scenario questions get harder than they need to be. This level gives you the map. (As covered in Level 1, this course is independent of Microsoft and not endorsed by it. Microsoft's own DP-700 study guide is free on Microsoft Learn. Check the official exam page for the current length and price. No course can promise a pass.)

If you come from SQL Server, here's an analogy: tenant is the whole company estate, capacity is the server hardware you pay for, workspace is a database-like container with its own permissions, and items are the objects inside it. The difference is that the storage under all of it is one shared lake.

Tenant → capacity → workspace → item

Layer What it is What it controls
Tenant Your organisation's Fabric estate Tenant-wide policies for security and compliance
Capacity A pool of compute, sized by F SKU in Capacity Units (F2 … F2048) How much compute your workloads can use, and the region
Workspace Container for items, assigned to one capacity Ownership and access (roles, settings)
Item Lakehouse, Warehouse, Eventhouse, notebook, pipeline, Dataflow Gen2… The actual workload

Two facts the exam relies on:

  • A workspace sits on one capacity, and that capacity is tied to a specific region. You can move a workspace to a different capacity later, but at any moment its compute comes from one capacity.
  • Compute and storage are separate. Capacity is what you pay for to run things. The data itself lives in OneLake.

OneLake: one lake per tenant

Every tenant gets exactly one OneLake automatically. You can't create a second one or delete it, and there is nothing to provision. Think of it as "OneDrive for data".

  • It's built on Azure Data Lake Storage and supports the ADLS Gen2 APIs. Every workspace appears as a container, and each item appears as a folder inside it.
  • Tabular data is stored in the open Delta Parquet format. Iceberg tables can also be read through metadata virtualisation.
  • Because Spark, T-SQL and Power BI's Direct Lake mode all read the same Delta tables, you keep one copy of the data. You don't export from one engine to use the data in another.

The path to a lakehouse table looks like this:

abfss://SalesWS@onelake.dfs.fabric.microsoft.com/SalesLH.lakehouse/Tables/orders
#        ^workspace = container                ^item = folder   ^managed Delta tables
# Files/ (sibling of Tables/) holds raw, unmanaged files: CSV, JSON, images...

Gotcha: The ABFS driver doesn't accept spaces or special characters in names in this URI. Use names like SalesWS, or use the workspace and item GUIDs instead.

The three data stores

Lakehouse Warehouse Eventhouse
Main language PySpark / Spark SQL T-SQL KQL
Writes via Spark (notebooks, pipelines, Dataflow Gen2) T-SQL DDL and DML, including multi-statement transactions Streaming or batch ingestion into KQL databases
SQL access Auto-created SQL analytics endpoint, read-only Full read/write T-SQL KQL querysets (SQL also possible)
Sweet spot Files plus tables, big data engineering SQL teams, dimensional models Telemetry, logs, time series, IoT

An Eventhouse is a container that holds one or more KQL databases, which share its compute. To let other engines read its data as Delta, you turn on OneLake availability at the database or table level.

The tools that move and transform data are also items:

  • Pipelines orchestrate and copy data.
  • Notebooks run Spark code.
  • Dataflow Gen2 gives you low-code Power Query transformations.

Choosing between them gets its own level later.

Hands-on: workspace, lakehouse, query

1. Create a workspace. In the Fabric portal, select Workspaces → + New workspace. Name it SalesWS. Under Advanced, choose a license mode backed by Fabric capacity (a paid F SKU, or a trial). Then select Apply.

2. Create a lakehouse. Inside SalesWS, select + New item → Lakehouse and name it SalesLH. Fabric automatically creates the matching SQL analytics endpoint.

3. Load a table. Upload orders.csv to Files, then right-click it and choose Load to Tables → New table. Or do it in a notebook:

# Notebook attached to SalesLH (the default lakehouse)
df = (spark.read
        .option("header", "true")
        .option("inferSchema", "true")
        .csv("Files/orders.csv"))       # relative path into the lakehouse's Files area

df.write.format("delta").mode("overwrite").saveAsTable("orders")  # lands in Tables/orders as Delta

4. Query it with Spark SQL in the same notebook:

%%sql
SELECT region, SUM(amount) AS revenue
FROM orders
GROUP BY region
ORDER BY revenue DESC;
-- region | revenue
-- North  | 48210.50
-- South  | 31877.00

5. Query it with T-SQL. Use the switcher at the top right of the lakehouse to change from Lakehouse to SQL analytics endpoint, then open a New SQL query:

SELECT TOP 5 order_id, region, amount
FROM dbo.orders           -- same Delta files, no copy
ORDER BY amount DESC;

UPDATE dbo.orders SET amount = 0;  -- FAILS: the endpoint is read-only over Delta tables

On the endpoint you can create views, functions and stored procedures. To change data, use Spark in the lakehouse, or use a Warehouse if your team wants read/write T-SQL.

Production note: The SQL analytics endpoint syncs table metadata from the lakehouse. A table you've just written may take a moment to appear there. Don't assume your Spark write failed.

What the exam asks about this

  • Pick the store from the scenario. "Team only knows T-SQL and needs to UPDATE/MERGE" points to a Warehouse. "Spark engineers with files and tables" points to a Lakehouse. "High-volume telemetry queried in KQL" points to an Eventhouse.
  • Expect traps based on the read-only endpoint. Any answer that writes through the lakehouse's SQL analytics endpoint is wrong.
  • Know the hierarchy and the one-copy idea. One OneLake per tenant. Workspaces sit on a capacity. Items store Delta Parquet in OneLake, so other engines read the data without copying it.

Key takeaways

  • Tenant → capacity (compute, region) → workspace (container, access) → item (workload).
  • One OneLake per tenant. Workspaces show up as containers and items as folders, and tables are stored as Delta Parquet.
  • Lakehouse = Spark plus a read-only SQL analytics endpoint. Warehouse = full read/write T-SQL. Eventhouse = KQL databases.
  • The same Delta table can be queried from Spark SQL and from T-SQL without copying it.
  • Eventhouse data reaches other engines as Delta once you turn on OneLake availability.

A 6-question knowledge check follows this lesson in the app, free and without an account.

Keep going: levels 3 and 4 are free

Create a free account to open the next two levels, save your progress and pick up where you left off. No card needed.

Next: Level 3, Configure Spark Workspace Settings.

Create a free account →See the whole course

More like this

  • GitHub Foundations (GH-900) Exam Prep

    Go from little or no GitHub experience to working confidently with Git, repositories, collaboration, Actions, Copilot, Codespaces, Projects, security settings…

    Exam prep · GH-900 · Software & Engineering · Capable · 17 levels · 4 free · Professionally curated by levelupwith.com

  • Microsoft Azure AI Fundamentals (AI-901) Exam Prep

    Get ready for Microsoft AI-901 by learning every skill in the April 15, 2026 study guide. You will cover responsible AI, how generative models work and the mai…

    Exam prep · AI-901 · AI & Agents · Capable · 18 levels · 4 free · Professionally curated by levelupwith.com

  • Microsoft Azure Fundamentals (AZ-900) Exam Prep

    Learn to pick the cloud model, service type or Azure service that fits a scenario and explain why the alternatives do not, across every skill in the 20 July 20…

    Exam prep · AZ-900 · Cloud & Compute · Capable · 17 levels · 4 free · Professionally curated by levelupwith.com

  • Microsoft Azure Administrator (AZ-104) Exam Prep

    Work through every bullet of the AZ-104 skills measured as of April 17, 2026, learning each task in the Azure portal, Azure CLI, PowerShell, and ARM templates…

    Exam prep · AZ-104 · Cloud & Compute · Expert · 60 levels · 4 free · Professionally curated by levelupwith.com

  • Support Pro: Helping Users Move to Microsoft 365

    Help users get through a move from Google Workspace to Microsoft 365, from the week before cutover to the first tickets afterwards. You will learn what moves a…

    Course · Microsoft · Suite Support Pro: Configure and Fix · Expert · 40 levels · 4 free · Professionally curated by levelupwith.com

  • Microsoft 365 Support Pro: Copilot for End Users

    Learn to work out which Copilot a user actually has, and to fix the everyday Copilot tickets: missing buttons, licence and sign-in problems, files Copilot can'…

    Course · Microsoft · Suite Support Pro: Configure and Fix · Expert · 36 levels · 4 free · Professionally curated by levelupwith.com