Freigeben über


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. Serverless-Computing ist eine Compute-Option für Notebooks, Jobs und Lakeflow Spark Declarative Pipelines. 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?.

Auswählen eines geeigneten Zugriffsmodus

Klassische All-Purpose- und Auftragsberechnungen verfügen über eine Zugriffsmoduseinstellung, die bestimmt, wer die Computeressource anfügen und verwenden kann. Im Unity-Katalog muss die Berechnung entweder den Standard- oder dedizierten Zugriffsmodus verwenden.

Die Standardberechnung kann von mehreren Benutzern und Gruppen gemeinsam genutzt werden und gleichzeitig die Benutzerisolation und alle Berechtigungen auf Benutzer- und Gruppenebene für den Datenzugriff erzwingen. Dies macht es für die meisten Workloads zu einer einfacheren, kostengünstigen Option, insbesondere einer, die eine differenzierte Zugriffssteuerung erzwingen.

Dedizierte Compute wird empfohlen, wenn Sie Zugriff auf Features benötigen, die für die Standardberechnung nicht verfügbar sind, z. B. RDD-APIs, GPU-Instanzen, R oder Databricks-Containerdienst. Weitere Informationen finden Sie unter Standard compute requirements and limitations.

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.

Bewerten, ob Sie von Photon profitieren würden

Viele Workloads profitieren von Photon, aber es ist am besten für SQL-Workloads und DataFrame-Vorgänge mit komplexen Transformationen, z. B. Verknüpfungen, Aggregationen und Datenüberprüfungen in großen Tabellen. Arbeitsauslastungen mit häufigen Datenträgerzugriffen, breiten Tabellen oder wiederholten Datenverarbeitungen sehen auch eine verbesserte Leistung.

Einfache ETL-Batchaufträge, die keine breiten Transformationen oder große Datenvolumes umfassen, können minimale Auswirkungen auf die Aktivierung von Photon haben, insbesondere, wenn Abfragen in der Regel in weniger als zwei Sekunden abgeschlossen sind.

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?
  • Was ist die Rechenkomplexität Ihrer Workload?
  • 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 Mitarbeiter 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 in einer serverlosen Architektur nicht unterstützt wird, verwenden Sie die folgenden Empfehlungen, um Ihre Rechenressource 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 automatische Skalierung basierend auf der typischen Workload des Analysten zu aktivieren.

Standardbatch-ETL

Verwenden Sie für einfache ETL-Aufträge, für die keine breiten Transformationen erforderlich sind, z. B. Verknüpfungen oder Aggregationen, Instanzen mit niedrigeren Anforderungen für Arbeitsspeicher und Speicher. Dies kann zu Kosteneinsparungen gegenüber anderen Arbeitstypen 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.