Ottimizzare l'utilizzo del cluster delle pipeline di tabelle live Delta con scalabilità automatica avanzata

La scalabilità automatica avanzata di Databricks ottimizza l'utilizzo del cluster allocando automaticamente le risorse del cluster in base al volume del carico di lavoro, con un impatto minimo sulla latenza di elaborazione dei dati delle pipeline.

La scalabilità automatica migliorata migliora la funzionalità di scalabilità automatica del cluster Azure Databricks con le funzionalità seguenti:

  • La scalabilità automatica avanzata implementa l'ottimizzazione dei carichi di lavoro di streaming e aggiunge miglioramenti per migliorare le prestazioni dei carichi di lavoro batch. La scalabilità automatica avanzata ottimizza i costi aggiungendo o rimuovendo i computer man mano che cambia il carico di lavoro.
  • La scalabilità automatica avanzata arresta in modo proattivo i nodi sottoutilizzati, garantendo che non siano presenti attività non riuscite durante l'arresto. La funzionalità di scalabilità automatica del cluster esistente riduce i nodi solo se il nodo è inattivo.

La scalabilità automatica avanzata è la modalità di scalabilità automatica predefinita quando si crea una nuova pipeline nell'interfaccia utente di Tabelle live Delta. È possibile abilitare la scalabilità automatica avanzata per le pipeline esistenti modificando le impostazioni della pipeline nell'interfaccia utente. È anche possibile abilitare la scalabilità automatica avanzata quando si creano o si modificano pipeline con l'API Tabelle live Delta.

Abilitare la scalabilità automatica avanzata

Nota

Poiché le risorse di calcolo vengono ottimizzate automaticamente per le pipeline serverless, le impostazioni per la scalabilità automatica avanzata di Databricks non sono disponibili quando si seleziona Serverless (anteprima pubblica) per una pipeline.

Per informazioni sull'abilitazione delle pipeline DLT serverless, contattare il team dell'account di Azure Databricks.

Per usare la scalabilità automatica avanzata, eseguire una delle operazioni seguenti:

  • Impostare Modalità cluster su Scalabilità automatica avanzata quando si crea una pipeline o si modifica una pipeline nell'interfaccia utente di Tabelle live Delta.
  • Aggiungere l'impostazione autoscale alla configurazione del cluster pipeline e impostare il mode campo su ENHANCED. Vedere Configurare le impostazioni di calcolo.

Usare le linee guida seguenti per la configurazione della scalabilità automatica avanzata per le pipeline di produzione:

  • Lasciare l'impostazione Min workers predefinita.
  • Impostare l'impostazione Max workers su un valore in base alla priorità del budget e della pipeline.

L'esempio seguente configura un cluster di scalabilità automatica avanzata con almeno 5 ruoli di lavoro e un massimo di 10 ruoli di lavoro. max_workers deve essere maggiore o uguale a min_workers.

Nota

  • La scalabilità automatica avanzata è disponibile solo per updates i cluster. La funzionalità di scalabilità automatica esistente viene usata per maintenance i cluster.
  • La autoscale configurazione ha due modalità:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

La pipeline viene riavviata automaticamente dopo la modifica della configurazione della scalabilità automatica se la pipeline è configurata per l'esecuzione continua. Dopo il riavvio, prevedere un breve periodo di aumento della latenza. Dopo questo breve periodo di maggiore latenza, le dimensioni del cluster devono essere aggiornate in autoscale base alla configurazione e la latenza della pipeline restituita alle caratteristiche di latenza precedenti.

Monitoraggio delle pipeline abilitate per la scalabilità automatica avanzata

È possibile usare il log eventi nell'interfaccia utente delle tabelle live Delta per monitorare le metriche di scalabilità automatica avanzata. Gli eventi di scalabilità automatica avanzati hanno il autoscale tipo di evento. Di seguito sono riportati gli eventi di esempio:

Event Message
Richiesta di ridimensionamento del cluster avviata Scaling [up or down] to <y> executors from current cluster size of <x>
Richiesta di ridimensionamento del cluster completata Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Richiesta di ridimensionamento del cluster parzialmente completata Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Richiesta di ridimensionamento del cluster non riuscita Achieved cluster size <x> for cluster <cluster-id> with status FAILED

È anche possibile visualizzare gli eventi di scalabilità automatica avanzata eseguendo direttamente una query sul registro eventi: