Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Lakeflow Jobs ist die Workflowautomatisierung für Azure Databricks, die Orchestrierung für Datenverarbeitungsworkloads bereitstellt, sodass Sie mehrere Aufgaben im Rahmen eines größeren Workflows koordinieren und ausführen können. Sie können die Ausführung häufiger, wiederholbarer Aufgaben optimieren und planen und komplexe Workflows verwalten.
In diesem Artikel werden Konzepte und Auswahlmöglichkeiten im Zusammenhang mit der Verwaltung von Produktions-Workloads mithilfe von Lakeflow-Aufträgen eingeführt.
Was sind Aufträge?
In Databricks wird ein Auftrag verwendet, um Aufgaben in Databricks in einem Workflow zu planen und zu koordinieren. Allgemeine Datenverarbeitungsworkflows umfassen ETL-Workflows, das Ausführen von Notizbüchern und ML-Workflows (Machine Learning) sowie die Integration in externe Systeme wie dbt und Azure Data Factory (ADF).
Aufträge bestehen aus einer oder mehreren Aufgaben und unterstützen benutzerdefinierte Steuerungsflusslogik wie Verzweigung (if/else-Anweisungen) oder Schleifen (für jede Anweisung) mithilfe einer visuellen Benutzeroberfläche für die Dokumenterstellung. Aufgaben können Daten in einem ETL-Workflow laden oder transformieren oder erstellen, trainieren und bereitstellen ML-Modelle auf kontrollierte und wiederholbare Weise als Teil Ihrer Machine Learning-Pipelines.
Beispiel: Tägliche Datenverarbeitung und Validierungsauftrag
Das folgende Beispiel zeigt einen Auftrag in Azure Databricks.
Dieser Beispielauftrag weist die folgenden Merkmale auf:
- Der erste Vorgang erfasst Umsatzdaten.
- Der zweite Vorgang ist ein If/else-Check auf NULL-Werte.
- Wenn nicht, wird eine Transformationsaufgabe ausgeführt.
- Andernfalls wird eine Notebook-Aufgabe mit einer Datenqualitätsüberprüfung ausgeführt.
- Es ist geplant, jeden Tag zur gleichen Zeit auszuführen.
Eine kurze Einführung in das Erstellen Ihres eigenen Auftrags finden Sie unter Erstellen Ihres ersten Workflows mit Lakeflow-Aufträgen.
Gängige Anwendungsfälle
Von grundlegenden Datentechnikprinzipien bis hin zu erweiterten Maschinellen Lernen und nahtloser Werkzeugintegration zeigen diese gängigen Anwendungsfälle die Breite der Funktionen, die moderne Analysen, Workflowautomatisierung und Infrastrukturskalierbarkeit fördern.
Orchestrierungskonzepte
Es gibt drei Hauptkonzepte bei der Verwendung von Lakeflow-Aufträgen für die Orchestrierung in Azure Databricks: Aufträge, Aufgaben und Trigger.
Auftrag – Ein Auftrag ist die primäre Ressource für die Koordination, Planung und Durchführung Ihrer Vorgänge. Aufträge können von einer einzelnen Aufgabe, die ein Azure Databricks-Notizbuch ausführt, bis hin zu Hunderten von Aufgaben mit bedingter Logik und Abhängigkeiten variieren. Die Aufgaben in einem Job werden visuell durch einen gerichteten azyklischen Graphen (Directed Acyclic Graph, DAG) dargestellt. Sie können Eigenschaften für den Auftrag angeben, einschließlich:
- Trigger – definiert, wann der Auftrag ausgeführt werden soll.
- Parameter – Laufzeitparameter, die automatisch an Aufgaben innerhalb des Auftrags übertragen werden.
- Benachrichtigungen – E-Mails oder Webhooks, die gesendet werden sollen, wenn ein Auftrag fehlschlägt oder zu lange dauert.
- Git – Quellcodeverwaltungseinstellungen für die Auftragsaufgaben.
Aufgabe – Eine Aufgabe ist eine spezifische Arbeitseinheit innerhalb eines Jobs. Jede Aufgabe kann eine Vielzahl von Operationen ausführen, darunter:
- Eine Notebookaufgabe führt ein Databricks-Notizbuch aus. Sie geben den Pfad zum Notizbuch und alle benötigten Parameter an.
- Eine Pipelineaufgabe führt eine Pipeline aus. Sie können vorhandene Lakeflow Spark Declarative Pipelines angeben, z. B. eine materialisierte Ansicht oder Streamingtabelle.
- Bei Python-Skriptaufgaben wird eine Python-Datei ausgeführt. Sie geben den Pfad zu der Datei und alle erforderlichen Parameter an.
Es gibt viele Arten von Aufgaben. Eine vollständige Liste finden Sie unter Typen von Aufgaben. Aufgaben können Abhängigkeiten von anderen Aufgaben haben und andere Aufgaben bedingt ausführen, sodass Sie komplexe Workflows mit bedingter Logik und Abhängigkeiten erstellen können.
Trigger – Ein Trigger ist ein Mechanismus, der das Ausführen eines Auftrags basierend auf bestimmten Bedingungen oder Ereignissen initiiert. Ein Auslöser kann zeitbasiert sein, z. B. das Ausführen eines Auftrags zu einer geplanten Zeit (z. B. jeden Tag um 2 Uhr) oder ereignisbasiert, z. B. das Ausführen eines Auftrags, wenn neue Daten im Cloudspeicher eintreffen.
Überwachung und Beobachtbarkeit
Aufträge bieten integrierte Unterstützung für Überwachung und Einblick. In den folgenden Themen erhalten Sie einen Überblick über diesen Support. Weitere Informationen zur Überwachung von Aufträgen und Orchestrierung finden Sie unter Überwachung und Observability für Lakeflow Jobs.
Auftragsüberwachung und -observierbarkeit in der Benutzeroberfläche – In der Azure Databricks-Benutzeroberfläche können Sie Aufträge anzeigen, einschließlich Details wie z. B. der Auftragsbesitzer und das Ergebnis der letzten Ausführung, und filtern Sie nach Auftragseigenschaften. Sie können einen Verlauf der Auftragsausführung anzeigen und detaillierte Informationen zu den einzelnen Aufgaben im Auftrag erhalten.
Auftragsausführungsstatus und Metriken – Databricks meldet den Erfolg des Auftrags und protokolliert sowohl Protokolle als auch Metriken für jede Aufgabe innerhalb eines Auftrags, um Probleme zu diagnostizieren und die Leistung besser zu verstehen.
Benachrichtigungen und Warnungen – Sie können Benachrichtigungen für Job-Ereignisse per E-Mail, Slack, benutzerdefinierte Webhooks und eine Vielzahl anderer Optionen einrichten.
Benutzerdefinierte Abfragen über Systemtabellen – Azure Databricks stellt Systemtabellen bereit, die Auftragsausführungen und Aufgaben für das gesamte Konto aufzeichnen. Sie können diese Tabellen verwenden, um die Auftragsleistung und -kosten abzufragen und zu analysieren. Sie können Dashboards erstellen, um Jobmetriken und Trends zu visualisieren, um die Integrität und Leistung Ihrer Workflows zu überwachen.
Begrenzungen
Es gelten die folgenden Einschränkungen:
- Ein Arbeitsbereich ist auf 2000 gleichzeitige Auftragsausführungen beschränkt. Wenn Sie eine Ausführung anfordern, die nicht sofort gestartet werden kann, wird eine
429 Too Many Requests-Antwort zurückgegeben. - Die Anzahl von Aufträgen, die von einem Arbeitsbereich innerhalb einer Stunde erstellt werden können, ist auf 10.000 beschränkt (einschließlich „runs submit“). Diese Beschränkung wirkt sich auch auf Aufträge aus, die mit den REST-API- und Notebook-Workflows erstellt wurden.
- Ein Arbeitsbereich kann bis zu 12.000 gespeicherte Aufträge enthalten.
- Ein Auftrag kann bis zu 1000 Vorgänge enthalten.
Kann ich Workflows programmgesteuert verwalten?
Databricks verfügt über die folgenden Tools und APIs, mit denen Sie Ihre Workflows programmgesteuert planen und orchestrieren können:
- Databricks-Befehlszeilenschnittstelle
- Databricks-Ressourcenbundles
- Databricks-Erweiterung für Visual Studio Code
- Databricks-SDKs
- Jobs-REST-API
Beispiele für die Verwendung von Tools und APIs zum Erstellen und Verwalten von Aufträgen finden Sie unter Automatisieren der Erstellung und Verwaltung von Aufträgen. Dokumentation zu allen verfügbaren Entwicklertools finden Sie unter Lokalen Entwicklungstools.
Externe Tools verwenden die Databricks-Tools und APIs, um Workflows programmgesteuert zu planen. Sie können Ihre Aufträge mit Tools wie Azure Data Factory oder Apache AirFlow planen.
Workfloworchestrierung mit Apache AirFlow
Sie können Apache Airflow verwenden, um Ihre Datenworkflows zu verwalten und zu planen. Mit Airflow definieren Sie Ihren Workflow in einer Python-Datei, und Airflow verwaltet die Planung und Ausführung des Workflows. Weitere Informationen finden Sie unter Orchestrate Lakeflow Jobs mit Apache Airflow.
Workfloworchestrierung mit Azure Data Factory
Azure Data Factory (ADF) ist ein cloudbasierter Datenintegrationsdienst, mit dem Sie Dienste für die Speicherung, Verschiebung und Verarbeitung von Daten in automatisierten Datenpipelines kombinieren können. Sie können ADF verwenden, um einen Azure Databricks-Auftrag als Teil einer ADF-Pipeline zu orchestrieren.
ADF verfügt außerdem über integrierte Unterstützung für das Ausführen von Databricks-Notebooks, Python-Skripts oder Code, der in JAR-Dateien gepackt ist, in einer ADF-Pipeline.
Weitere Informationen zum Ausführen eines Databricks-Notebooks in einer ADF-Pipeline finden Sie unter Ausführen eines Databricks-Notebooks mit der Databricks-Notebookaktivität in Azure Data Factory sowie unter Transformieren von Daten durch Ausführen eines Databricks-Notebooks.
Weitere Informationen zum Ausführen eines Python-Skripts in einer ADF-Pipeline finden Sie unter Transformieren von Daten durch Ausführen einer Python-Aktivität in Azure Databricks.
Weitere Informationen zum Ausführen von Code, der in eine JAR-Datei gepackt ist, in einer ADF-Pipeline finden Sie unter Transformieren von Daten durch Ausführen einer JAR-Aktivität in Azure Databricks.