Empfehlungen für die Computekonfiguration
Dieser Artikel enthält Empfehlungen und bewährte Methoden im Zusammenhang mit der Computekonfiguration.
Wenn Ihre Workload unterstützt wird, empfiehlt Databricks die Verwendung von serverlosem Computing, anstatt Ihre eigene Computeressource zu konfigurieren. Serverloses Computing ist die einfachste und zuverlässigste Computingoption. Es erfordert keine Konfiguration, ist immer verfügbar und skaliert entsprechend Ihrer Workload. Serverloses Computing ist für Notebooks, Aufträge und Delta Live Tables immer verfügbar. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit serverlosem Compute.
Darüber hinaus können Datenanalysten serverlose SQL-Warehouses verwenden, um Daten auf Databricks abzufragen und zu untersuchen. Siehe Was sind serverlose SQL Warehouses?.
Verwenden von Computerichtlinien
Wenn Sie neues Compute von Grund auf neu erstellen, empfiehlt Databricks die Verwendung von Computerichtlinien. Mithilfe von Computerichtlinien können Sie vorkonfigurierte Computeressourcen erstellen, die für bestimmte Anwendungsfälle wie persönliches Compute, gemeinsam genutztes Computes, Power Users und Aufträge entwickelt wurden. Richtlinien beschränken die Entscheidungen, die Sie beim Konfigurieren von Computeeinstellungen treffen müssen.
Wenn Sie keinen Zugriff auf Richtlinien haben, wenden Sie sich an Ihren Arbeitsbereichsadministrator. Siehe Standardrichtlinien und Richtlinienfamilien.
Berechnen von Überlegungen zur Größenanpassung
Hinweis
Die folgenden Empfehlungen gehen davon aus, dass Sie über eine uneingeschränkte Clustererstellung verfügen. Arbeitsbereichsadministratoren sollten diese Berechtigung nur erweiterten Benutzern gewähren.
Bei der Compute-Größe wird häufig an die Anzahl von Workern gedacht, aber es gibt noch weitere wichtige Faktoren, die berücksichtigt werden müssen.
- Gesamtzahl der Executorkerne (Compute): Die Gesamtanzahl von Kernen für alle Executors. Dies bestimmt die maximale Parallelität einer Berechnung.
- Gesamter Executorspeicher: Die Gesamtmenge des RAM für alle Executors. Bestimmt, wie viele Daten vor dem Überlauf auf einen Datenträger im Arbeitsspeicher gespeichert werden können.
- Lokaler Executorspeicher: Der Typ und die Menge des lokalen Datenträgerspeichers. Der lokale Festplattenspeicher wird in erster Linie für den Fall verwendet, dass es bei Shuffles und Caching zu einem Überlauf kommt.
Weitere Überlegungen sind der Typ und die Größe der Workerinstanz, die sich auch auf die oben genannten Faktoren auswirken. Berücksichtigen Sie bei der Dimensionierung Ihres Rechners folgendes:
- Wie viele Daten wird Ihr Workload verbrauchen?
- Wie komplex ist die Berechnung Ihres Workloads?
- Woher lesen Sie Daten?
- Wie werden die Daten im externen Speicher partitioniert?
- Wie viel Parallelität wird benötigt?
Die Beantwortung dieser Fragen hilft Ihnen bei der Bestimmung der optimalen Compute-Konfigurationen auf der Grundlage von Workloads.
Es gibt einen Ausgleich zwischen der Anzahl der Worker und der Größe der Workerinstanztypen. Ein Compute, das mit zwei Workern mit jeweils 16 Kernen und 128 GB RAM konfiguriert wird, verfügt über die gleiche Rechenleistung und den gleichen Speicher wie ein Compute mit 8 Workern mit jeweils 4 Kernen und 32 GB RAM.
Beispiele für die Computekonfiguration
Die folgenden Beispiele zeigen Compute-Empfehlungen, die auf bestimmten Arten von Workloads basieren. Zu diesen Beispielen gehören auch Konfigurationen, die zu vermeiden sind, und warum diese Konfigurationen für die jeweiligen Workload-Typen nicht geeignet sind.d.
Hinweis
Alle Beispiele in diesem Abschnitt (mit Ausnahme des Machine-Learning-Trainings) könnten von der Verwendung von serverlosem Computing profitieren, anstatt eine neue Rechenressource hochzufahren. Wenn Ihre Workload auf serverlosen Servern nicht unterstützt wird, verwenden Sie die folgenden Empfehlungen, um die Computeressource zu konfigurieren.
Datenanalyse
Datenanalysten führen in der Regel Verarbeitungsvorgänge durch, die Daten aus mehreren Partitionen erfordern, was zu vielen Shufflevorgängen führt. Eine Computeressource mit einer kleineren Anzahl größerer Knoten kann die Netzwerk- und Datenträger-E/A reduzieren, die für diese Shuffles erforderlich sind.
Eine Einzelknotenberechnung mit einem großen VM-Typ ist wahrscheinlich die beste Wahl, insbesondere für einen einzelnen Analysten.
Analytische Workloads erfordern wahrscheinlich das wiederholte Lesen derselben Daten, daher sind empfohlene Knotentypen datenspeicheroptimiert, wenn Disk Cache aktiviert ist oder bei Instanzen mit lokalem Speicher.
Zu den für analytische Workloads empfohlenen zusätzlichen Features gehören:
- Aktivieren Sie die automatische Beendigung, um sicherzustellen, dass das Compute nach einem Zeitraum der Inaktivität beendet wird.
- Erwägen Sie die Aktivierung der automatischen Skalierung auf der Grundlage des typischen Arbeitsaufkommens des Analysten.
Standardbatch-ETL
Einfache Batch-ETL-Aufträge, die keine umfassenden Transformationen erfordern, z. B. Verknüpfungen oder Aggregationen, profitieren in der Regel von Photon. Wählen Sie also eine allgemeine Instanz aus, die Photon unterstützt.
Instanzen mit niedrigeren Anforderungen für Arbeitsspeicher und Speicher können zu Kosteneinsparungen gegenüber anderen Workertypen führen.
Komplexe Batch-ETL
Für einen komplexen ETL-Auftrag, z. B. eine Aufgabe, die Vereinigungen erfordert und sich über mehrere Tabellen hinweg verbindet, empfiehlt Databricks, die Anzahl der Worker zu verringern, um die Menge der zu ändernden Daten zu reduzieren. Um weniger Worker zu haben, erhöhen Sie die Größe Ihrer Instanzen.
Komplexe Transformationen können rechenintensiv sein. Wenn Sie eine erhebliche Auslagerung auf die Festplatte oder OOM-Fehler (Out of Memory) beobachten, erhöhen Sie den verfügbaren Speicher auf Ihren Instanzen.
Optional können Sie Pools verwenden, um die Rechenstartzeiten zu verringern und die Gesamtlaufzeit beim Ausführen von Auftragspipelines zu verringern.
Trainieren von Machine Learning-Modellen
Um Machine Learning-Modelle zu trainieren, empfiehlt Databricks das Erstellen einer Computeressource mithilfe der Richtlinie Personal Compute.
Sie sollten die Berechnung mit einem einzelnen Knoten mit einem großen Knotentyp für das anfängliche Experimentieren mit Trainingsmodellen für maschinelles Lernen ausführen. Weniger Knoten reduzieren die Auswirkungen von Shuffles.
Durch das Hinzufügen weiterer Worker kann die Stabilität unterstützt werden. Sie sollten jedoch vermeiden, dass zu viele Worker aufgrund des Mehraufwands von Shuffling-Daten hinzugefügt werden.
Empfohlen werden datenspeicheroptimierte Worker-Typen mit aktiviertem Disk-Caching oder einer Instanz mit lokalen Speicher, um wiederholte Lesevorgänge derselben Daten zu berücksichtigen und die Zwischenspeicherung von Trainingsdaten zu ermöglichen.
Zu den zusätzlichen Features, die für Machine Learning-Workloads empfohlen werden, gehören:
- Aktivieren Sie die automatische Beendigung, um sicherzustellen, dass das Compute nach einem Zeitraum der Inaktivität beendet wird.
- Verwenden Sie Pools, die es ermöglichen, die Computeleistung auf vorab genehmigte Instanztypen zu beschränken.
- Stellen Sie mithilfe von Richtlinien konsistente Computekonfigurationen sicher.