Freigeben über


Optimieren der Clusternutzung von Delta Live Tables-Pipelines mit erweiterter automatischer Skalierung

Databricks Enhanced Autoscaling optimiert die Clusterauslastung durch automatisches Zuordnen von Clusterressourcen basierend auf Arbeitslastvolumen, wobei minimale Auswirkungen auf die Datenverarbeitungslatenz Ihrer Pipelines auftreten.

Enhanced Autoscaling verbessert die Funktion für automatische Skalierung von Azure Databricks-Clustern mit den folgenden Features:

  • Verbessertes Autocaling implementiert die Optimierung von Streaminglasten und fügt Verbesserungen hinzu, um die Leistung von Batchlasten zu verbessern. Durch die erweiterte automatische Skalierung werden die Kosten optimiert, indem Computer hinzugefügt oder entfernt werden, wenn sich die Arbeitsauslastung ändert.
  • Verbessertes Autocaling beendet proaktiv unter genutzte Knoten, während sichergestellt wird, dass während des Herunterfahrens keine fehlgeschlagenen Vorgänge vorhanden sind. Das vorhandene Feature Autocaling skaliert nur dann nach unten, wenn der Knoten leer ist.

Enhanced Autoscaling ist der Standardmodus für automatische Skalierung, wenn Sie eine neue Pipeline auf der Benutzeroberfläche von Delta Live Tables erstellen. Sie können Enhanced Autoscaling für vorhandene Pipelines aktivieren, indem Sie die Pipelineeinstellungen auf der Benutzeroberfläche bearbeiten. Sie können Enhanced Autoscaling auch aktivieren, wenn Sie Pipelines mit der Delta Live Tables-API erstellen oder bearbeiten.

Aktivieren von Enhanced Autoscaling

Wenn Sie Enhanced Autoscaling verwenden möchten, führen Sie eine der folgenden Aktionen aus:

  • Legen Sie den Clustermodus auf Erweiterte automatische Skalierung fest, wenn Sie auf der Benutzeroberfläche von Delta Live Tables eine Pipeline erstellen oder eine Pipeline bearbeiten.
  • Fügen Sie die autoscale-Konfiguration zum Pipelineclusterkonfiguration hinzu, und legen Sie das mode-Feld auf ENHANCED fest. Weitere Informationen finden Sie unter Konfigurieren Ihrer Computeeinstellungen.

Verwenden Sie die folgenden Richtlinien beim Konfigurieren der erweiterten automatischen Skalierung für Produktionspipelines:

  • Behalten Sie die Standardeinstellung von Min workers bei.
  • Legen Sie die Einstellung Max workers auf einen Wert fest, der dem Budget und der Pipelinepriorität entspricht.

Im folgenden Beispiel wird ein erweiterter Autocaling-Cluster mit mindestens 5 Mitarbeitern und maximal 10 Mitarbeitern konfiguriert. max_workers muss größer als oder gleich sein wie min_workers.

Hinweis

  • Die erweiterte automatische Skalierung ist nur für den updates-Cluster verfügbar. Die vorhandene Funktion für die automatische Skalierung wird für maintenance-Cluster verwendet.
  • Die autoscale-Konfiguration verfügt über zwei Modi:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Die Pipeline wird automatisch neu gestartet, nachdem sich die automatische Skalierungskonfiguration ändert, wenn die Pipeline für die kontinuierliche Ausführung konfiguriert ist. Nach dem Neustart erwarten Sie einen kurzen Zeitraum von erhöhter Latenz. Nach diesem kurzen Zeitraum erhöhter Latenz sollte die Clustergröße basierend auf Ihrer autoscale Konfiguration aktualisiert werden, und die Pipelinewartezeit, die zu ihren vorherigen Latenzeigenschaften zurückgegeben wurde.

Überwachen der aktivierten Automatischen Skalierungspipelinen

Sie können das Ereignisprotokoll auf der Delta Live Tables-Benutzeroberfläche verwenden, um Metriken für die erweiterte automatische Skalierung zu überwachen. Erweiterte Automatische Skalierungsereignisse verfügen über den autoscale Ereignistyp. Im Folgenden sind Beispielereignisse aufgeführt:

Ereignis `Message`
Anforderung zum Ändern der Clustergröße gestartet Scaling [up or down] to <y> executors from current cluster size of <x>
Anforderung zum Ändern der Clustergröße erfolgreich ausgeführt Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Anforderung zum Ändern der Clustergröße teilweise erfolgreich ausgeführt Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Fehler bei Anforderung zum Ändern der Clustergröße Achieved cluster size <x> for cluster <cluster-id> with status FAILED

Sie können auch erweiterte Autoscaling-Ereignisse anzeigen, indem Sie das Ereignisprotokoll direkt abfragen: