Share via


Bewährte Methoden für die Computekonfiguration

In diesem Artikel werden Empfehlungen zum Festlegen optionaler Computekonfigurationen beschrieben. Um Konfigurationsentscheidungen zu reduzieren, empfiehlt Azure Databricks, sowohl serverlose Compute- als auch Computerichtlinien zu nutzen.

  • Die Serverlose Berechnung erfordert keine Konfiguration von Computeeinstellungen. Serverlose Berechnung ist immer verfügbar und skaliert entsprechend Ihrer Workload. Siehe Computetypen.

  • Mithilfe von Computerichtlinien können Sie vorkonfigurierte Compute erstellen, die für bestimmte Anwendungsfälle wie persönliche Berechnung, gemeinsam genutzte Compute, Power Users und Aufträge entwickelt wurden. Wenn Sie keinen Zugriff auf die Richtlinien haben, wenden Sie sich an Ihren Arbeitsbereichsadministrator. Siehe Standardrichtlinien und Richtlinienfamilien.

Wenn Sie die Berechnung mit Ihren eigenen Konfigurationen erstellen, bieten die folgenden Abschnitte Empfehlungen für typische Anwendungsfälle.

Hinweis

In diesem Artikel wird davon ausgegangen, dass Sie über eine uneingeschränkte Clustererstellung verfügen. Arbeitsbereichsadministratoren sollten diese Berechtigung nur erweiterten Benutzern gewähren.

Berechnen von Überlegungen zur Größenanpassung

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 40 Kernen und 100 GB RAM konfiguriert wird, verfügt über die gleiche Rechenleistung und den gleichen Speicher wie ein Compute mit 10 Kernen und 25 GB RAM.

Beispiele für die Berechnungsgröße

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.

Datenanalyse

Datenanalysten führen in der Regel Verarbeitungsvorgänge durch, die Daten aus mehreren Partitionen erfordern, was zu vielen Shufflevorgängen führt. Ein Compute mit einer kleineren Anzahl von Knoten kann die Netzwerk- und Datenträger-E/A reduzieren, die für diese Shuffles erforderlich sind.

Wenn Sie nur SQL schreiben, ist die beste Option für die Datenanalyse ein serverloses SQL Warehouse.

Hinweis

Wenn Ihr Arbeitsbereich für die serverlose öffentliche Compute Public Preview aktiviert ist, können Sie serverlose Compute verwenden, um Analysen in Python oder SQL auszuführen. Siehe Serverloses Compute für Notebooks.

Wenn Sie eine neue Berechnung konfigurieren müssen, ist eine Einzelknotenberechnung mit einem großen VM-Typ 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.

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.
  • Erwägen Sie die Verwendung von Pools, die es ermöglichen, Rechner auf vorab genehmigte Instanztypen zu beschränken und konsistente Rechnerkonfigurationen sicherzustellen.

Standardbatch-ETL

Hinweis

Wenn Ihr Arbeitsbereich für die serverlose Berechnung für Workflows (Public Preview) aktiviert ist, können Sie serverlose Compute verwenden, um Ihre Aufträge auszuführen. Siehe Serverloses Compute für Notebooks.

Einfache Batch-ETL-Aufträge, die keine umfassenden Transformationen erfordern, z. B. Verknüpfungen oder Aggregationen, profitieren in der Regel von computeoptimierten Workertypen.

Computeoptimierte Worker haben niedrigere Anforderungen für Arbeitsspeicher und Speicher und können zu Kosteneinsparungen gegenüber anderen Workertypen führen.

Komplexe Batch-ETL

Hinweis

Wenn Ihr Arbeitsbereich für die serverlose Berechnung für Workflows (Public Preview) aktiviert ist, können Sie serverlose Compute verwenden, um Ihre Aufträge auszuführen. Siehe Serverloses Compute für Notebooks.

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.

Komplexe Transformationen können rechenintensiv sein. Wenn Sie einen erheblichen Überlauf auf Datenträger- oder OOM-Fehler beobachten, sollten Sie zusätzliche Knoten hinzufügen.

Databricks empfiehlt Compute-optimierte Workertypen. Computeoptimierte Worker haben niedrigere Anforderungen für Arbeitsspeicher und Speicher und können zu Kosteneinsparungen gegenüber anderen Workertypen führen. 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

Databricks empfiehlt die Berechnung mit einem einzelnen Knoten mit einem großen Knotentyp für das anfängliche Experimentieren mit Trainingsmodellen für maschinelles Lernen. 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, um wiederholte Lesevorgänge derselben Daten zu berücksichtigen und die Zwischenspeicherung von Trainingsdaten zu ermöglichen. Wenn die von speicheroptimierten Knoten gebotenen Rechen- und Speicheroptionen nicht ausreichen, sollten Sie GPU-optimierte Knoten in Betracht ziehen. Ein möglicher Nachteil ist der fehlende Disk-Caching-Support für diese Knoten.

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, Rechner auf vorab genehmigte Instanztypen zu beschränken und konsistente Compute-Konfigurationen sicherzustellen.