Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In diesem Artikel wird erläutert, wie Sie die erweiterte automatische Skalierung verwenden, um Ihre Pipelines in Azure Databricks zu optimieren.
Die erweiterte automatische Skalierung ist für alle neuen Pipelines standardmäßig aktiviert. Serverlose Pipelines verwenden auch vertikale automatische Skalierung. Sehen Sie sich an, was die vertikale automatische Skalierung ist?.
Bei serverlosen Pipelines ist die erweiterte automatische Skalierung immer aktiviert und kann nicht deaktiviert werden. Siehe Konfigurieren einer serverlosen Pipeline.
Was ist die verbesserte automatische Skalierung?
Databricks verbesserte Autoskalierung optimiert die Clusterauslastung, indem Clusterressourcen basierend auf dem Arbeitslastvolumen automatisch zugeordnet werden, wobei die Datenverarbeitungslatenz Ihrer Pipelines nur minimal beeinträchtigt wird.
Die verbesserte automatische Skalierung erweitert die Cluster-Autoskalierungsfunktionen von Azure Databricks mit den folgenden Funktionen:
- Durch die erweiterte automatische Skalierung werden Optimierungen von Streamingworkloads implementiert und Verbesserungen zur Verbesserung der Leistung von Batchworkloads hinzugefügt. Durch verbesserte 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. Die vorhandene automatische Clusterfunktion skaliert Knoten nur dann nach unten, wenn der Knoten im Leerlauf ist.
Die erweiterte automatische Skalierung ist der Standardmodus für die automatische Skalierung, wenn Sie eine neue Pipeline in der Pipeline-Benutzeroberfläche erstellen. Sie können die erweiterte automatische Skalierung für vorhandene Pipelines aktivieren, indem Sie die Pipelineeinstellungen auf der Benutzeroberfläche bearbeiten. Sie können die erweiterte automatische Skalierung auch aktivieren, wenn Sie Pipelines mit der REST-API der Pipelines erstellen oder bearbeiten.
Welche Metriken verwendet die erweiterte automatische Skalierung, um Entscheidungen zum Hoch- oder Herunterskalieren zu treffen?
Bei der erweiterten automatischen Skalierung werden zwei Metriken verwendet, um die Skalierung nach oben oder nach unten zu entscheiden:
- Auslastung des Vorgangsplatzes: Dies ist das durchschnittliche Verhältnis der Anzahl der besetzten Vorgangsplätze zu den gesamt im Cluster verfügbaren Vorgangsplätze.
- Größe der Vorgangswarteschlange: Dies ist die Anzahl der Aufgaben, die auf die Ausführung in Aufgabenfenstern warten.
Aktivieren der erweiterten automatischen Skalierung für eine Pipeline
Die erweiterte automatische Skalierung ist der Standardmodus für die automatische Skalierung, wenn Sie eine neue Pipeline in der Pipeline-Benutzeroberfläche erstellen. Sie können die erweiterte automatische Skalierung für vorhandene Pipelines aktivieren, indem Sie die Pipelineeinstellungen auf der Benutzeroberfläche bearbeiten. Sie können auch die erweiterte automatische Skalierung aktivieren, wenn Sie eine Pipeline mit dem Lakeflow-Pipelines-Editor bearbeiten.
Führen Sie eine der folgenden Aktionen aus, um die erweiterte automatische Skalierung zu verwenden:
- Legen Sie den Clustermodus beim Bearbeiten von Pipelineeinstellungen im Lakeflow-Pipelines-Editor auf erweiterte automatische Skalierung fest.
- Fügen Sie der Pipelineclusterkonfiguration die
autoscaleEinstellung hinzu, und legen Sie dasmodeFeld aufENHANCED. Siehe Konfigurieren der klassischen Berechnung für Pipelines.
Verwenden Sie die folgenden Richtlinien beim Konfigurieren der erweiterten automatischen Skalierung für Produktionspipelines:
- Lassen Sie die
Min workersEinstellung auf der Standardeinstellung. - Legen Sie die
Max workersEinstellung auf einen Wert fest, der auf dem Budget und der Pipelinepriorität basiert.
Im folgenden Beispiel wird ein erweiterter Automatischer Skalierungscluster mit mindestens 5 Mitarbeitern und maximal 10 Mitarbeitern konfiguriert.
max_workers muss größer oder gleich min_workerssein.
Hinweis
- Erweiterte automatische Skalierung ist nur für
updatesCluster verfügbar. Fürmaintenance-Cluster wird die automatische Skalierung (Legacy) verwendet. - Die
autoscaleKonfiguration verfügt über zwei Modi:-
LEGACY: Verwenden Sie die automatische Clusterkalierung. -
ENHANCED: Verwenden Sie die erweiterte automatische Skalierung.
-
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Wenn die Pipeline für die kontinuierliche Ausführung konfiguriert ist, wird sie automatisch neu gestartet, nachdem sich die automatische Skalierungskonfiguration geändert hat. Erwarten Sie nach dem Neustart einen kurzen Zeitraum mit erhöhter Latenz. Nach diesem kurzen Zeitraum mit erhöhter Latenz sollte die Clustergröße basierend auf Ihrer autoscale Konfiguration aktualisiert werden, und die Pipelinelatenz sollte zu den vorherigen Latenzmerkmalen zurückkehren.
Begrenzen der Kosten für Pipelines, die eine erweiterte automatische Skalierung verwenden
Hinweis
Sie können keine Worker für serverlose Pipelines konfigurieren.
Durch Festlegen des Parameters "Max Worker " im Bereich " Berechnen " der Pipelines wird eine obergrenze für die automatische Skalierung festgelegt. Die Verringerung der Anzahl verfügbarer Mitarbeiter kann die Latenz für einige Workloads erhöhen, verhindert jedoch, dass die Rechenressourcenkosten bei rechenintensiven Vorgängen platzen.
Databricks empfiehlt, die Einstellungen für Max-Worker zu optimieren, um den Kostenlatenz-Kompromiss für Ihre speziellen Anforderungen auszugleichen.
Überwachen von klassischen Pipelines, für die erweiterte automatische Skalierung aktiviert ist
Sie können das Ereignisprotokoll in der Pipeline-Benutzeroberfläche verwenden, um erweiterte automatische Skalierungsmetriken für klassische Pipelines zu überwachen. Erweiterte ereignisse für die automatische Skalierung weisen den autoscale Ereignistyp auf. Im Folgenden sind Beispielereignisse aufgeführt:
| Event | Nachricht |
|---|---|
| Cluster-Größenänderungsanforderung 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 |
| Cluster-Größenänderungsanforderung teilweise erfolgreich | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
| Fehler bei Clustergrößenänderungsanforderung | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Sie können auch erweiterte automatische Skalierungsereignisse anzeigen, indem Sie das Ereignisprotokoll direkt abfragen:
- Informationen zum Abfragen des Ereignisprotokolls für Backlogmetriken finden Sie unter Überwachen des Datenbackprotokolls zum Optimieren der Streamingdauer.
- Informationen zum Überwachen der Größenänderung von Clusteranforderungen und -antworten während erweiterter automatischer Skalierungsvorgänge finden Sie unter Überwachen von automatischen Skalierungsereignissen zum Optimieren der klassischen Berechnung.
Was ist die automatische vertikale Skalierung?
Serverlose Pipelines tragen zur horizontalen automatischen Skalierung von Databricks bei, indem sie die erweiterte automatische Skalierung durch die automatische Zuordnung der kosteneffizientesten Instanztypen, die Ihre Pipeline ausführen können, ohne an Speicherfehlern zu scheitern, bieten. Bei der automatischen vertikalen Skalierung wird hochskaliert, wenn größere Instanzentypen erforderlich sind, um ein Pipelineupdate auszuführen, und herunterskaliert, wenn ermittelt wird, dass das Update mit kleineren Instanztypen ausgeführt werden kann. Die automatische vertikale Skalierung bestimmt, ob Treiberknoten, Workerknoten oder sowohl Treiber- als auch Workerknoten hoch- oder herunterskaliert werden sollen.
Vertikale automatische Skalierung wird für alle serverlosen Pipelines verwendet, einschließlich Pipelines, die in Databricks SQL materialisierte Ansichten und Streamingtabellen verwenden.
Die automatische vertikale Skalierung funktioniert durch die Erkennung von Pipelineupdates, die aufgrund von Fehlern wegen unzureichenden Arbeitsspeichers fehlgeschlagen sind. Die vertikale automatische Skalierung weist größere Instanztypen zu, wenn diese Fehler basierend auf den Speicherauslastungsdaten erkannt werden, die beim fehlgeschlagenen Update gesammelt wurden. Im Produktionsmodus wird automatisch ein neues Update gestartet, das die neuen Computeressourcen verwendet. Im Entwicklungsmodus werden die neuen Computeressourcen verwendet, wenn Sie ein neues Update manuell starten.
Wenn die vertikale automatische Skalierung erkennt, dass der Speicher der zugeordneten Instanzen konsistent nicht ausgelastet ist, werden die Instanztypen, die im nächsten Pipelineupdate verwendet werden sollen, verkleinert.