What is Enhanced Autoscaling?

Databricks Enhanced Autoscaling optimizes cluster utilization by automatically allocating cluster resources based on workload volume, with minimal impact to the data processing latency of your pipelines.

Enhanced Autoscaling improves on the Databricks cluster autoscaling functionality with the following features:

  • Enhanced Autoscaling implements optimization of streaming workloads, and adds enhancements to improve the performance of batch workloads. Enhanced Autoscaling optimizes costs by adding or removing machines as the workload changes.

  • Enhanced Autoscaling proactively shuts down under-utilized nodes while guaranteeing there are no failed tasks during shutdown. The existing cluster autoscaling feature scales down nodes only if the node is idle.

Enhanced Autoscaling is the default autoscaling mode when you create a new pipeline in the Delta Live Tables UI. You can enable Enhanced Autoscaling for existing pipelines by editing the pipeline settings in the UI. You can also enable Enhanced Autoscaling when you create or edit pipelines with the Delta Live Tables API.

Enable Enhanced Autoscaling

Note

Because compute resources are automatically optimized for serverless pipelines, settings for Databricks Enhanced Autoscaling are not available when you select Serverless (Public Preview) for a pipeline.

To learn about enabling Serverless DLT pipelines, contact your Databricks account team.

To use Enhanced Autoscaling, do one of the following:

  • Set Cluster mode to Enhanced autoscaling when you create a pipeline or edit a pipeline in the Delta Live Tables UI.

  • Add the autoscale setting to the pipeline cluster configuration and set the mode field to ENHANCED. See Configure your compute settings. The following example configures an Enhanced Autoscaling cluster with a minimum of 5 workers and a maximum of 10 workers. max_workers must be greater than or equal to min_workers.

Note

  • Enhanced Autoscaling is available for updates clusters only. The existing autoscaling feature is used for maintenance clusters.

  • The autoscale configuration has two modes:

{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

The pipeline is automatically restarted after the autoscaling configuration changes if the pipeline is configured for continuous execution. After restart, expect a short period of increased latency. Following this brief period of increased latency, the cluster size should be updated based on your autoscale configuration, and the pipeline latency returned to its previous latency characteristics.

Monitoring Enhanced Autoscaling enabled pipelines

You can use the event log in the Delta Live Tables user interface to monitor Enhanced Autoscaling metrics. Enhanced Autoscaling events have the autoscale event type. The following are example events:

Event

Message

Cluster resize request started

Scaling [up or down] to <y> executors from current cluster size of <x>

Cluster resize request succeeded

Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED

Cluster resize request partially succeeded

Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED

Cluster resize request failed

Achieved cluster size <x> for cluster <cluster-id> with status FAILED

You can also view Enhanced Autoscaling events by directly querying the event log: