How starter, custom, capacity and custom live pools differ in node sizes, start-up time, sizing against the capacity and job admission.
From Ultra Transcenders DP-700 by Tony Rough (coming December 2026)
A pool describes the nodes a Spark session gets: node size, how many, and whether they scale. Fabric offers prewarmed starter pools for speed and custom pools for control, and both bill only while a session is active.
Every workspace gets a starter pool automatically. Its clusters are already running, so a session with no extra libraries or custom Spark properties typically starts in 5 to 10 seconds.
| SKU | Spark VCores | Default max nodes | Max nodes |
|---|---|---|---|
| F2 | 4 | 1 | 1 |
| F8 | 16 | 2 | 2 |
| F16 | 32 | 3 | 4 |
| F32 | 64 | 8 | 8 |
| F64 and trial | 128 | 10 | 16 |
| F256 | 512 | 10 | 64 |
| F1024 and above | 2,048 and above | 10 | 200 |
A custom Spark pool lets the workspace Admin pick the node family (for example Memory optimized), node size, autoscale range and executor allocation. Prerequisites: the workspace Admin role, and the capacity admin must enable Customized workspace pools (on by default at capacity level).
| Node size | vCores | Memory |
|---|---|---|
| Small | 4 | 32 GB |
| Medium | 8 | 64 GB |
| Large | 16 | 128 GB |
| X-Large | 32 | 256 GB |
| XX-Large | 64 | 512 GB |
One CU equals two Spark VCores and the capacity can burst to three times that. An F64 (128 VCores, 384 with burst) could run one job on 48 Medium nodes or several smaller ones.
| SKU | Spark VCores | Max with burst | Queue limit |
|---|---|---|---|
| F2 | 4 | 20 | 4 |
| F8 | 16 | 48 | 8 |
| F32 | 64 | 192 | 32 |
| F64 | 128 | 384 | 64 |
| F256 | 512 | 1,536 | 256 |
| Trial | 128 | 128 | Not available |
TooManyRequestsForCapacity; jobs from pipelines, the scheduler and Spark job definitions queue first in, first out and expire after 24 hours. A throttled capacity rejects new Spark jobs instead of queuing them.Common trap: Selecting Large nodes for the starter pool to get faster sessions - starter pools are Medium-only; any other size (or customised compute) falls back to on-demand startup of minutes, not seconds.
Common trap: Expecting an interactive notebook to wait in the queue when the capacity is busy - queueing applies to pipeline, scheduled and Spark job definition runs; interactive notebooks are rejected with HTTP 430.
This note is one section of Ultra Transcenders DP-700: Implementing Data Engineering Solutions Using Microsoft Fabric, an independent study guide that explains every topic the exam covers by technology, with comparison tables, diagrams and the common traps, plus a glossary linked to Microsoft Learn.
Due on Amazon in December 2026, in Kindle and paperback editions.
About the book · DP-700 terms in the glossary · All DP-700 study notes
How purpose, skills and coding level decide between Dataflow Gen2, a pipeline and a notebook, and where Copy job and Apache Airflow jobs fit.
How authoring style, output, storage, state and latency decide between eventstreams, Spark structured streaming and eventhouses.
When a KQL database should ingest data, query it through a standard OneLake shortcut, or accelerate the shortcut, and what each costs.
How the five eventstream window types group events in time, how they overlap and how to write them in the SQL operator.
When to reload everything or only changes, and which change-detection method catches inserts, updates and deletes.
The default, email, random and partial masks, the permissions that add or bypass them, and why masking alone doesn't stop inference.
How skills, data location and transformation type decide between Dataflow Gen2, Spark notebooks, KQL update policies and warehouse T-SQL.