Verwenden von Azure Databricks-Compute mit Ihren Aufträgen

Wenn Sie einen Azure Databricks-Auftrag ausführen, werden die Aufgaben als Teil des Auftrags auf Azure Databricks-Computeressourcen ausgeführt, und zwar je nach Auftragstyp entweder durch serverloses Computing, in einem Cluster oder in einem SQL-Warehouse. Die Auswahl der Optionen für Computetyp und Konfiguration ist wichtig, wenn Sie einen Auftrag operationalisieren. Dieser Artikel enthält Empfehlungen zur Verwendung von Azure Databricks-Computeressourcen zum Ausführen Ihrer Aufträge.

Weitere Informationen zur Verwendung von serverlosem Computing für Ihre Azure Databricks-Aufträge finden Sie unter Ausführen von Azure Databricks-Aufträgen mit serverlosem Computing für Workflows.

Hinweis

Geheimnisse werden nicht aus den Spark-Treiberprotokollstreams stdout und stderr eines Clusters entfernt. Um vertrauliche Daten zu schützen, können Spark-Treiberprotokolle standardmäßig nur von Benutzern mit Berechtigung KANN VERWALTEN für Auftrag, Einzelbenutzerzugriffsmodus und Cluster des freigegebenen Zugriffsmodus angezeigt werden. Um Benutzern mit Berechtigung KANN ANFÜGEN AN oder KANN NEU STARTEN das Anzeigen der Protokolle in diesen Clustern zu ermöglichen, legen Sie die folgende Spark-Konfigurationseigenschaft in der Clusterkonfiguration fest: spark.databricks.acl.needAdminPermissionToViewLogs false.

Auf Clustern des freigegebenen Isolationsmodus können die Spark-Treiberprotokolle von Benutzern mit den Berechtigungen KANN ANFÜGEN AN oder KANN VERWALTEN angezeigt werden. Um die Benutzer, welche die Protokolle lesen können, auf Benutzer mit der Berechtigung KANN VERWALTEN zu beschränken, setzen Sie spark.databricks.acl.needAdminPermissionToViewLogs auf true.

Informationen zum Hinzufügen von Spark-Eigenschaften zu einer Clusterkonfiguration finden Sie unter Spark-Konfiguration.

Verwenden freigegebener Auftragscluster

Verwenden Sie freigegebene Auftragscluster, um die Ressourcennutzung bei Aufträgen zu optimieren, die mehrere Aufgaben orchestrieren. Ein freigegebener Auftragscluster ermöglicht es mehreren Aufgaben in derselben Auftragsausführung, den Cluster wiederzuverwenden. Sie können einen einzelnen Auftragscluster verwenden, um alle Aufgaben auszuführen, die Teil des Auftrags sind, oder mehrere Auftragscluster, die für bestimmte Workloads optimiert sind. So verwenden Sie einen freigegebenen Auftragscluster

  1. Wählen Sie Neue Auftragscluster, wenn Sie eine Aufgabe erstellen, und vervollständigen Sie die Clusterkonfiguration.
  2. Wählen Sie den neuen Cluster aus, wenn Sie dem Auftrag eine Aufgabe hinzufügen, oder erstellen Sie einen neuen Auftragscluster. Jeder Cluster, den Sie bei der Auswahl von Neue Auftragscluster konfigurieren, ist für jede Aufgabe im Auftrag verfügbar.

Ein freigegebener Auftragscluster ist auf eine einzelne Auftragsausführung beschränkt und kann nicht von anderen Aufträgen oder Ausführungen desselben Auftrags verwendet werden.

Bibliotheken können in einer Konfiguration für einen freigegebenen Auftragscluster nicht deklariert werden. Sie müssen abhängige Bibliotheken in den Aufgabeneinstellungen hinzufügen.

Auswählen des richtigen Clustertyps für Ihren Auftrag

  • Neue Auftragscluster sind dedizierte Cluster für eine Auftrags- oder Aufgabenausführung. Ein freigegebener Auftragscluster wird beim Start der ersten Aufgabe, die den Cluster nutzt, erstellt und gestartet. Der Cluster wird beendet, wenn die letzte Aufgabe, die den Cluster nutzt, abgeschlossen ist. Der Cluster wird im Leerlauf nicht beendet, sondern erst nach Abschluss aller Aufgaben. Wenn ein freigegebener Auftragscluster ausfällt oder beendet wird, bevor alle Aufgaben fertig gestellt wurden, wird ein neuer Cluster erstellt. Ein Cluster, der einer einzelnen Aufgabe zugeordnet ist, wird beim Start der Aufgabe erstellt und gestartet. Der Cluster wird beendet, wenn die Aufgabe abgeschlossen ist. In der Produktion empfiehlt Databricks die Verwendung neuer freigegebener oder aufgabenspezifischer Cluster, damit jeder Auftrag bzw. jede Aufgabe in einer vollständig isolierten Umgebung ausgeführt wird.
  • Wenn Sie eine Aufgabe in einem neuen Cluster ausführen, wird die Aufgabe als Data Engineering-Workload betrachtet und unterliegt den Preisen für Aufgabenworkloads. Wenn Sie eine Aufgabe in einem vorhandenen All-Purpose-Cluster ausführen, wird die Aufgabe als Datenanalyseworkload (All-Purpose) betrachtet und unterliegt den Preisen für All-Purpose-Workloads.
  • Wenn Sie ein beendetes vorhandenes Cluster auswählen und der Auftragsbesitzer über die Berechtigung KANN NEU STARTEN verfügt, startet Azure Databricks das Cluster, wenn die Ausführung des Auftrags geplant ist.
  • Vorhandene All-Purpose-Cluster funktionieren am besten für Aufgaben wie das regelmäßige Aktualisieren von Dashboards.

Verwende einen Pool, um Cluster-Startzeiten zu reduzieren

Um die Startzeit für neue Auftragscluster zu verkürzen, erstellen Sie einen Pool, und konfigurieren Sie den Cluster des Auftrags zur Verwendung des Pools.