Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: ✅ Fabric Data Engineering and Data Science
Custom live pools are prehydrated Spark clusters that provide near-instant session startup for notebooks in Microsoft Fabric. This article shows how to create, configure, and manage custom live pools for optimal performance.
Prerequisites
Before setting up custom live pools, ensure you have:
- Access to a Microsoft Fabric workspace with a paid Fabric SKU (Fabric trial capacities aren't supported)
- Admin role in the workspace
- An active Fabric capacity assigned to your workspace
- A published Fabric environment to use for library configuration.
Important
Starter pools aren't supported for custom live pools. If your workspace uses a starter pool, you must create a custom Spark pool before configuring a custom live pool.
Create a custom pool for the live pool
First, create a custom Spark pool. You enable live pool compute on this pool in a later step.
- Navigate to your Fabric workspace.
- Select Workspace settings from the workspace home ribbon.
- Expand Data Engineering/Science and select Spark settings.
- Select the Pool tab.
- From the Default pool for workspace dropdown, select New Pool.
- Enter a name for the pool. This is a unique identifier for the pool (for example, "dev-team-pool" or "prod-daily-analytics")
- Select a Node family and Node size for your workload.
- Select the Autoscale checkbox to enable autoscaling for the pool.
- Set the minimum nodes to at least 2.
Configure a live pool
After you create a custom Spark pool, enable live pool compute through the environment settings.
In your Fabric workspace, open the environment that you want to attach to a custom live pool.
In the left pane, select Compute.
Select the pool you created in the previous step from the dropdown.
Under Live pool, select the radio button to activate live pool compute for this environment.
Under Live pool schedule, select the radio button to turn it on. All custom live pools must have a schedule. Clusters are only kept hydrated during the scheduled window.
Specify the schedule settings:
- Whether the schedule is recurring
- Start and end day and time
- Time zone
- When to deactivate and reactivate the pool
- Other settings as applicable
Important
Fabric uses standard Spark provisioning for activity outside the scheduled window, which has slower startup times. Clusters aren't kept warm outside the scheduled window.
For scheduling tips, see Schedule best practices.
Save the compute settings.
Select the Publish button in the top ribbon.
After you publish, the pool is active and Fabric begins hydrating clusters ahead of the next schedule period.
Note
Publishing can take several minutes.
Any changes to the environment require re-publishing the environment and refreshing hydrated clusters.
Monitor pool status
To check the status of your custom live pool:
In the Fabric portal, open the Monitoring hub.
Find the environment that you published and select the ellipsis (...) to open the context menu.
Select View details.
In the right pane, expand Live pool status to view the current state of the pool.
The live pool status includes details such as:
- Pool status: For example, Active, Hydrating, Idle, or Stopped
- Available clusters: Number of clusters ready for notebook sessions
- Busy clusters: Number of clusters currently running sessions
- Next schedule: Upcoming activity window
Best practices
To get the most out of custom live pools, consider the following best practices for configuration and management:
Optimize for cost and performance
- Align count with demand: Set the max cluster count based on expected concurrent sessions. Over-provisioning increases costs.
- Monitor utilization: Regularly review pool metrics and adjust cluster count if necessary.
- Scale schedules efficiently: Avoid overlapping schedules across multiple pools unless necessary.
- Leverage idle timeout: Set appropriate idle timeouts to maintain a balance between resource availability and avoiding frequent cluster restarts.
Cluster sizing
When configuring your pool, consider the following settings and recommendations:
- Cluster size: The number of executor instances for notebook sessions (range: 1-16).
- Max cluster count: The maximum number of clusters to keep hydrated. Set based on expected concurrent sessions.
- Idle timeout: How long an unused cluster stays allocated before Fabric terminates it.
| Workload type | Recommended size | Description |
|---|---|---|
| Exploratory analysis | 2-4 cores | Light workloads, quick data exploration |
| Medium compute | 8-12 cores | Daily reporting, medium-size datasets |
| Heavy compute | 14-16 cores | Large datasets, complex transformations |
Manage library dependencies
- Use environment grouping: Pre-install common libraries in the environment rather than on-the-fly installation.
- Environment versioning: Updating an attached environment requires re-publishing and refreshing hydrated clusters.
- Refresh hydrated clusters: After environment changes, refresh the pool or wait for the next scheduled cycle to apply changes.
Adapt to workload patterns
- Monitor outside behavior: Adjust idle timeouts based on actual usage patterns.
- Share across sessions: Consider sharing the same environment across multiple pools if you have consistent workload patterns to improve resource utilization.
Schedule best practices
- Align with workload patterns: Schedule active times when your team runs interactive or scheduled notebooks.
- Buffer time: Add 60-90 minutes before expected usage windows to ensure complete hydration.
- Consider time zones: If your team spans multiple time zones, extend the schedule to cover required time ranges.
Troubleshooting
Troubleshooting custom live pools involves checking pool status, environment health, and schedule configuration as outlined in the following scenarios:
Pool remains not available
If the pool fails to activate or shows "Not Available" status:
- Check that Fabric capacity is active and currently assigned to the workspace
- Verify the attached environment is in a "Ready" state.
- Ensure the attached environment is published and doesn't have any errors.
Hydration takes longer than expected
If hydration is slower than expected:
- Check environment dependencies and build status.
- Verify the environment is in a "Ready" state.
- Monitor pool details for more information.
Sessions or notebooks fail to start
If notebook sessions fail to start even with an active pool:
- Check that the session is using the correct environment.
- Verify the pool is in "Available" status and fully hydrated.