Freigeben über


Ausführen Ihres Azure Databricks-Auftrags mit serverlosem Computing für Workflows

Wichtig

Serverloses Computing für Workflows befindet sich in der Public Preview. Informationen zur Berechtigung und Aktivierung finden Sie unter Aktivieren des serverlosen Computings.

Wichtig

Da serverloses Computing für Workflows keine Steuerung des ausgehenden Datenverkehrs unterstützt, haben Ihre Aufträge Vollzugriff auf das Internet.

Serverloses Computing für Workflows ermöglicht Ihnen, Ihren Azure Databricks-Auftrag auszuführen, ohne Infrastruktur zu konfigurieren und bereitzustellen. Beim serverlosen Computing können Sie sich auf die Implementierung Ihrer Datenverarbeitungs- und Analysepipelines konzentrieren, während Azure Databricks die Computeressourcen effizient verwaltet, einschließlich der Optimierung und Skalierung des Computings für Ihre Workloads. Die automatische Skalierung und Photon werden automatisch für die zur Ausführung Ihres Auftrags verwendeten Computeressourcen aktiviert.

Die automatische Optimierung beim serverlosen Computing für Workflows optimiert automatisch das Computing, indem geeignete Ressourcen wie Instanztypen, Arbeitsspeicher und Verarbeitungs-Engines basierend auf Ihrer Workload ausgewählt werden. Außerdem führt die automatische Optimierung Wiederhollungen fehlerhafter Aufträge durch.

Databricks aktualisiert automatisch die Databricks Runtime-Version, um Verbesserungen und Upgrades auf die Plattform anzuwenden und gleichzeitig die Stabilität Ihrer Azure Databricks-Aufträge sicherzustellen. Informationen zur aktuellen Databricks Runtime-Version, die für das serverlose Computing für Workflows verwendet wird, finden Sie in den Versionshinweisen zu serverlosem Computing.

Da die Berechtigung zum Erstellen von Clustern nicht erforderlich ist, dann serverloses Computing mit allen Benutzerkonten im Arbeitsbereich verwendet werden, um Workflows auszuführen.

In diesem Artikel wird die Verwendung der Benutzeroberfläche für Azure Databricks-Aufträge zum Erstellen und Ausführen von Aufträgen beschrieben, die serverloses Computing verwenden. Sie können auch das Erstellen und Ausführen von Aufträgen, die serverloses Computing verwenden, mit der Auftrags-API, Databrick-Ressourcenbundles oder dem Databricks SDK für Python automatisieren.

  • Weitere Informationen zur Verwendung der Auftrags-API zum Erstellen und Ausführen von Aufträgen, die serverloses Computing verwenden, finden Sie in der REST-API-Referenz unter Aufträge.
  • Weitere Informationen zur Verwendung von Databricks-Ressourcenbundles zum Erstellen und Ausführen von Aufträgen, die serverloses Computing verwenden, finden Sie unter Entwickeln eines Auftrags in Azure Databricks mithilfe von Databricks-Ressourcenbundles.
  • Informationen zur Verwendung des Databricks SDK für Python zum Erstellen und Ausführen von Aufträgen, die serverloses Computing verwenden, finden Sie unter Databricks SDK für Python.

Anforderungen

  • In Ihrem Azure Databricks-Arbeitsbereich muss Unity Catalog aktiviert sein.

  • Da serverloses Computing für Workflows den Modus mit freigegebenem Zugriff verwendet, müssen Ihre Workloads diesen Zugriffsmodus unterstützen.

  • Ihr Azure Databricks-Arbeitsbereich muss sich in einer unterstützten Region befinden. Weitere Informationen finden Sie unter Azure Databricks-Regionen.

Erstellen eines Auftrags mit serverlosem Computing

Hinweis

Da serverloses Computing für Workflows sicherstellt, dass ausreichend Ressourcen bereitgestellt werden, um Ihre Workloads auszuführen, kann es zu längeren Startzeiten kommen, wenn ein Azure Databricks-Auftrag ausgeführt wird, der große Speichermengen erfordert oder viele Aufgaben umfasst.

Serverloses Computing wird mit den Aufgabentypen Notebook, Python-Skript, dbt und Python-Wheel unterstützt. Standardmäßig wird serverloses Computing als Computetyp ausgewählt, wenn Sie einen neuen Auftrag erstellen und einen dieser unterstützten Aufgabentypen hinzufügen.

Erstellen einer serverlosen Aufgabe

Databricks empfiehlt die Verwendung der serverlosen Computings für alle Auftragsaufgaben. Sie können auch unterschiedliche Computetypen für Aufgaben in einem Auftrag angeben. Dies ist möglicherweise erforderlich, wenn ein Aufgabentyp für das serverlose Computing für Workflows nicht unterstützt wird.

Konfigurieren eines vorhandenen Auftrags für die Verwendung von serverlosem Computing

Sie können einen vorhandenen Auftrag auf die Verwendung des serverlosen Computings für unterstützte Aufgabentypen umstellen, indem Sie den Auftrag bearbeiten. Um zu serverlosem Computing zu wechseln, führen Sie eine der folgenden Aktionen aus:

  • Wählen Sie im Bereich Auftragsdetails unter Compute die Option Tauschen und dann Neu aus, geben Sie alle Einstellungen ein, oder ändern Sie diese, und wählen Sie dann Aktualisieren aus.
  • Wählen Sie im Dropdownmenü Compute das Symbol Caretzeichen nach unten und dann Serverlos aus.

Umstellen einer Aufgabe auf serverloses Computing

Planen eines Notebooks mit serverlosem Computing

Neben der Auftragsbenutzeroberfläche können Sie für das Erstellen und Planen eines Auftrags mit serverlosem Computing auch direkt aus einem Databricks-Notebook einen Auftrag erstellen und ausführen, der serverloses Computing verwendet. Weitere Informationen finden Sie unter Erstellen und Verwalten geplanter Notebookaufträge.

Festlegen von Spark-Konfigurationsparametern

Um die Konfiguration von Spark auf serverlosem Computing zu automatisieren, ermöglicht Databricks das Festlegen nur bestimmter Spark-Konfigurationsparameter. Die Liste der zulässigen Parameter finden Sie unter Unterstützte Spark-Konfigurationsparameter.

Sie können Spark-Konfigurationsparameter nur auf Sitzungsebene festlegen. Legen Sie sie dazu in einem Notebook fest, und fügen Sie das Notebook zu einer Aufgabe hinzu, die in demselben Auftrag enthalten ist, der die Parameter verwendet. Weitere Informationen finden Sie unter Abrufen und Festlegen von Apache Spark-Konfigurationseigenschaften in einem Notebook.

Konfigurieren von Notebookumgebungen und -abhängigkeiten

Um Bibliotheksabhängigkeiten und die Umgebungskonfiguration für eine Notebookaufgabe zu verwalten, fügen Sie die Konfiguration einer Zelle im Notebook hinzu. Im folgenden Beispiel werden Python-Bibliotheken mithilfe von pip install aus Arbeitsbereichsdateien und mit einer Datei requirements.txt installiert und eine spark.sql.session.timeZone-Sitzungsvariable festgelegt:

%pip install -r ./requirements.txt
%pip install simplejson
%pip install /Volumes/my/python.whl
%pip install /Workspace/my/python.whl
%pip install https://some-distro.net/popular.whl
spark.conf.set('spark.sql.session.timeZone', 'Europe/Amsterdam')

Um dieselbe Umgebung für mehrere Notebooks festzulegen, können Sie ein einzelnes Notebook verwenden, um die Umgebung zu konfigurieren, und dieses Notebook dann mit dem Magic-Befehl %run aus jedem Notebook ausführen, das die Umgebungskonfiguration erfordert. Weitere Informationen finden Sie unter Verwenden von %run zum Importieren eines Notebooks.

Konfigurieren von Umgebungen und Abhängigkeiten für Nicht-Notebookaufgaben

Für andere unterstützte Aufgabentypen, z. B. Python-Skripts, Python-Wheels oder dbt-Aufgaben, enthält eine Standardumgebung installierte Python-Bibliotheken. Die Liste der installierten Bibliotheken finden Sie im Abschnitt Installierte Python-Bibliotheken in den Versionshinweisen für die Databricks Runtime-Version, auf der Ihre Bereitstellung für serverloses Computing für Workflows basiert. Informationen zur aktuellen Databricks Runtime-Version, die für das serverlose Computing für Workflows verwendet wird, finden Sie in den Versionshinweisen zu serverlosem Computing. Wenn eine Aufgabe eine nicht installierte Python-Bibliothek erfordert, können Sie die Bibliothek aus Arbeitsbereichsdateien, Unity-Katalogvolumes oder öffentlichen Paketrepositorys installieren. So fügen Sie beim Erstellen oder Bearbeiten einer Aufgabe eine Bibliothek hinzu

  1. Wählen Sie im Dropdownmenü Umgebung und Bibliotheken neben der Standardumgebung das Symbol Symbol „Bearbeiten“ oder + Neue Umgebung hinzufügen aus.

    Bearbeiten der Standardumgebung

  2. Wählen Sie im Dialogfeld Umgebung konfigurieren die Option + Bibliothek hinzufügen aus.

  3. Wählen Sie im Dropdownmenü unter Bibliotheken den Typ der Abhängigkeit aus.

  4. Geben Sie im Textfeld Dateipfad den Pfad zur Bibliothek ein.

  • Für ein Python-Wheel in einer Arbeitsbereichsdatei sollte der Pfad absolut sein und mit /Workspace/ beginnen.

  • Für ein Python-Wheel in einem Unity Catalog-Volume sollte der Pfad /Volumes/<catalog>/<schema>/<volume>/<path>.whl lauten.

  • Wählen Sie für eine Datei requirements.txt die Option „PyPi“ aus, und geben Sie -r /path/to/requirements.txt ein.

    Hinzufügen von Aufgabenbibliotheken

  1. Wählen Sie Bestätigen oder + Bibliothek hinzufügen aus, um eine weitere Bibliothek hinzuzufügen.
  2. Wenn Sie eine Aufgabe hinzufügen, wählen Sie Aufgabe erstellen aus. Wenn Sie eine Aufgabe bearbeiten, wählen Sie Aufgabe speichern aus.

Konfigurieren der automatischen Optimierung für serverloses Computing mit Verhinderung von Wiederholungen

Die automatische Optimierung für serverloses Computing für Workflows optimiert automatisch die Computeressourcen, die zum Ausführen Ihrer Aufträge und Wiederholungen bei fehlerhaften Aufträgen verwendet werden. Standardmäßig ist die automatische Optimierung aktiviert, und Databricks empfiehlt auch, sie aktiviert zu lassen, um sicherzustellen, dass kritische Workloads mindestens einmal erfolgreich ausgeführt werden. Wenn Sie einige Ihrer Workloads höchstens einmal ausgeführt werden sollen (z. B. Aufträge, die nicht idempotent sind), können Sie die automatische Optimierung beim Hinzufügen oder Bearbeiten einer Aufgabe deaktivieren:

  1. Wählen Sie neben Wiederholungen die Option Hinzufügen aus (oder Symbol „Bearbeiten“, wenn bereits eine Wiederholungsrichtlinie vorhanden ist).
  2. Deaktivieren Sie im Dialogfeld Wiederholungsrichtlinie die Option Serverlose automatische Optimierung aktivieren (möglicherweise zusätzliche Wiederholungen).
  3. Klicken Sie auf Confirm (Bestätigen).
  4. Wenn Sie eine Aufgabe hinzufügen, wählen Sie Aufgabe erstellen aus. Wenn Sie eine Aufgabe bearbeiten, wählen Sie Aufgabe speichern aus.

Überwachen der Kosten für Aufträge, die serverloses Computing für Workflows verwenden

Sie können die Kosten von Aufträgen überwachen, die serverloses Computing für Workflows verwenden, indem Sie die Systemtabelle für abrechenbaren Verbrauch abfragen. Diese Tabelle wird aktualisiert, um Benutzer- und Workloadattribute in die Kosten für serverloses Computing einzuschließen. Weitere Informationen unter Referenz zur Systemtabelle für abrechnungsfähigen Verbrauch.

Anzeigen von Details zu Ihren Spark-Abfragen

Serverloses Computing für Workflows verfügt über eine neue Benutzeroberfläche zum Anzeigen detaillierter Laufzeitinformationen für Ihre Spark-Anweisungen, z. B. Metriken und Abfragepläne. So zeigen Sie Abfrageerkenntnisse für Spark-Anweisungen aus Ihren Aufträgen an, die mit serverlosem Computing ausgeführt werden

  1. Klicken Sie auf der Randleiste auf Symbol für Workflows Workflows.
  2. Klicken Sie in der Spalte Name auf den Auftragsnamen, für den Sie Erkenntnisse anzeigen möchten.
  3. Klicken Sie auf die spezifische Ausführung, für die Sie Erkenntnisse anzeigen möchten.
  4. Klicken Sie im Abschnitt Compute des Seitenbereichs Task ausgeführt auf Abfrageverlauf.
  5. Dadurch gelangen Sie zum Abfrageverlauf, der bereits nach der Aufgabenausführungs-ID der Aufgabe gefiltert ist, in der Sie sich befanden.

Informationen zur Verwendung des Abfrageverlaufs finden Sie unter Abfrageverlauf.

Begrenzungen

Eine Liste der Einschränkungen für serverloses Computing für Workflows finden Sie in den Versionshinweisen zu serverlosem Computing unter Einschränkungen für serverloses Computing.