In this training session, Zane Goodman from Pragmatic Works walks learners through one of the most important areas of Microsoft Fabric: Spark settings. While Spark is a widely discussed topic, Zane focuses on helping users understand how nodes, executors, pools, environments, and configuration options work together to support efficient data processing in Fabric.
Before exploring Fabric-specific configurations, Zane first breaks down the fundamental components that define Apache Spark:
Zane explains how Spark divides work into smaller partitions and distributes execution across executors. Once processing finishes, Spark brings all partitions back together to produce a final dataset or display result in the notebook.
Inside the Fabric workspace, Spark settings can be configured to manage performance, cost, and scalability. Zane demonstrates where these options live and how they impact Spark sessions.
Fabric workspaces come with a default Starter Pool, designed for fast session startup—typically around five seconds. This is possible because its nodes are prehydrated and ready for immediate use. Key characteristics include:
While many settings in the Starter Pool cannot be modified, Zane highlights the importance of understanding node size because each size uses a specific number of virtual cores (vCores). One capacity unit (CU) equals two vCores, so an F64 capacity provides 128 vCores. This vCore availability determines how many nodes a workspace can provision and how large those nodes can be.
Users can configure:
Zane demonstrates how increasing or decreasing node count automatically adjusts the maximum executor count. Choosing appropriate values matters because each node consumes workspace capacity.
Fabric allows users to create Environments—a powerful feature for managing packages, libraries, and shared settings across notebooks. When enabled, users can:
This promotes consistency within teams and avoids repetitive setup for each new notebook.
Zane walks through the “New Pool” option, covering advanced settings such as:
Autoscale helps reduce unnecessary node usage, saving cost. Dynamic executor allocation ensures Spark doesn’t allocate more compute than required, improving performance efficiency.
The Jobs section includes additional important settings:
Zane highlights a newer and potentially risky setting: Allow Job Bursting. When activated, Fabric can temporarily triple the available vCores for large jobs. While this accelerates processing, it can also exhaust capacity quickly and block other users’ jobs.
This setting is powerful but should be carefully managed—especially in shared enterprise environments.
Zane concludes by emphasizing the importance of understanding both Spark fundamentals and Fabric-specific settings. These configurations directly impact performance, cost, and collaboration within a workspace. Whether users are working with starter pools, custom environments, or high-concurrency pipelines, knowing how Spark allocates compute ensures smooth and efficient operations across data engineering workloads.
Don't forget to check out the Pragmatic Works' on-demand learning platform for more insightful content and training sessions on Fabric and other Microsoft applications. Be sure to subscribe to the Pragmatic Works YouTube channel to stay up-to-date on the latest tips and tricks.