Ausführen von Aufträgen nach einem Zeitplan oder kontinuierlich

Sie können Ihren Azure Databricks-Auftrag regelmäßig mit dem Triggertyp Geplant ausführen oder mit dem Triggertyp Fortlaufend sicherstellen, dass immer eine aktive Ausführung des Auftrags vorhanden ist.

Sie können einen Zeitplan verwenden, um Ihren Azure Databricks-Auftrag zu bestimmten Zeiten und in bestimmten Zeiträumen automatisch auszuführen. Sie können einen Zeitplan definieren, um Ihren Auftrag minütlich, stündlich, täglich, wöchentlich oder monatlich und zu bestimmten Zeiten auszuführen. Zudem können Sie auch eine Zeitzone für Ihren Zeitplan angeben und einen geplanten Auftrag jederzeit anhalten.

Wenn Sie Ihren Auftrag mit dem Trigger „Fortlaufend“ ausführen, stellt Azure Databricks sicher, dass immer eine Instanz des Auftrags aktiv ausgeführt wird. Ein neuer Auftrag wird gestartet, wenn die vorherige Ausführung erfolgreich oder mit einem Fehlerstatus beendet wurde oder wenn derzeit keine Instanz des Auftrags ausgeführt wird.

Hinzufügen eines Auftragszeitplans

So definieren Sie einen Zeitplan für den Auftrag

  1. Klicken Sie auf der Seitenleiste auf Workflows.
  2. Klicken Sie in der Spalte Name auf der Registerkarte Aufträge auf den Auftragsnamen.
  3. Klicken Sie im Bereich Auftragsdetails auf Trigger hinzufügen, und wählen Sie unter Triggertyp die Option Geplant aus.
  4. Geben Sie den Zeitraum, die Startzeit und die Zeitzone an. Aktivieren Sie optional das Kontrollkästchen Cron-Syntax anzeigen, um den Zeitplan unter Quartz Cron-Syntax anzuzeigen und zu bearbeiten.
  5. Klicken Sie auf Speichern.

Sie können einen Notebookauftrag auch direkt in der Notebook-Benutzeroberfläche planen.

Hinweis

  • Azure Databricks erzwingt ein Mindestintervall von 10 Sekunden zwischen aufeinanderfolgenden Ausführungen, die durch den Zeitplan eines Auftrags ausgelöst werden, unabhängig von der Sekundenkonfiguration im Cron-Ausdruck.
  • Sie können eine Zeitzone auswählen, in der Sommerzeit oder UTC gilt. Wenn Sie eine Zeitzone auswählen, in der die Sommerzeit gilt, wird ein stündlicher Auftrag übersprungen oder scheint sich um eine oder zwei Stunden zu verzögern, wenn die Sommerzeit beginnt oder endet. Wählen Sie für eine Ausführung zu jeder Stunde (absolute Zeit) UTC aus.
  • Der Auftragsplaner ist nicht für latenzarme Aufträge vorgesehen. Aufgrund von Netzwerk- oder Cloudproblemen kann sich die Ausführung von Aufträgen gelegentlich bis zu mehreren Minuten verzögern. In diesen Fällen werden die geplanten Aufträge sofort ausgeführt, sobald der Dienst verfügbar ist.

Anhalten und Fortsetzen eines Auftragszeitplans

Um einen Auftrag anzuhalten, klicken Sie im Bereich Auftragsdetails auf Anhalten.

Um einen angehaltenen Auftragsplan fortzusetzen, klicken Sie auf Fortsetzen.

Ausführen eines fortlaufenden Auftrags

  1. Klicken Sie auf der Seitenleiste auf Workflows.
  2. Klicken Sie in der Spalte Name auf der Registerkarte Aufträge auf den Auftragsnamen.
  3. Klicken Sie im Bereich Auftragsdetails auf Trigger hinzufügen, klicken Sie im Bereich Auftragsdetails auf Trigger hinzufügen, wählen Sie in Triggertyp die Option Fortlaufend aus, und klicken Sie auf Speichern.

Um einen fortlaufenden Auftrag zu beenden, klicken Sie neben Jetzt ausführen auf Blue Down Caret und anschließend auf Beenden.

Hinweis

  • Zu einem gegebenen Zeitpunkt kann jeweils nur eine Instanz eines fortlaufenden Auftrags ausgeführt werden.
  • Zwischen dem Beenden einer Ausführung und dem Starten einer neuen Ausführung tritt eine kleine Verzögerung auf. Diese Verzögerung sollte weniger als 60 Sekunden betragen.
  • Sie können bei fortlaufenden Aufträgen keine Anordnungsbeziehungen verwenden.
  • Sie können bei fortlaufenden Aufträgen keine Wiederholungsrichtlinien verwenden. Stattdessen wird exponentielles Backoff zum Verwalten von Auftragsausführungsfehlern bei fortlaufenden Aufträgen verwendet.
  • Wenn Sie für einen fortlaufenden Auftrag, der angehalten worden ist, Jetzt ausführen auswählen, wird ein neuer Auftrag ausgeführt. Wenn der Auftrag nicht angehalten ist, wird eine Ausnahme ausgelöst.
  • Wenn Ihr fortlaufender Auftrag eine neue Auftragskonfiguration übernehmen soll, brechen Sie die vorhandene Ausführung ab. Dann wird automatisch eine neue Ausführung gestartet. Sie können auch auf Ausführung neu starten klicken, um den Auftrag mit der aktualisierten Konfiguration neu zu starten.

Wie werden Fehler bei fortlaufenden Aufträge behandelt?

Für Azure Databricks-Aufträge wird das Schemaexponentielles Backoff verwendet, um fortlaufende Aufträge mit mehreren aufeinander folgenden Fehlern zu verwalten. Exponentielles Backoff ermöglicht es, fortlaufende Aufträge ohne Unterbrechung auszuführen und bei behebbaren Fehlern in einen Integritätszustand zurückzukehren.

Wenn ein fortlaufender Auftrag den zulässigen Schwellenwert für aufeinander folgende Fehler überschreitet, werden nachfolgende Auftragsausführungen wie unten beschrieben verwaltet:

  1. Der Auftrag wird nach einem vom System festgelegten Wiederholungszeitraum neu gestartet.
  2. Wenn die nächste Auftragsausführung fehlschlägt, wird der Wiederholungszeitraum erhöht, und der Auftrag wird nach diesem neuen Wiederholungszeitraum neu gestartet.
    1. Bei jedem nachfolgenden Fehler bei der Auftragsausführung wird der Wiederholungszeitraum erneut erhöht, bis zu einem vom System festgelegten maximalen Wiederholungszeitraum. Nach Erreichen des maximalen Wiederholungszeitraums wird der Auftrag weiterhin unter Verwendung des maximalen Wiederholungszeitraums wiederholt. Es gibt keine Beschränkung für die Anzahl der Wiederholungen für einen kontinuierlichen Auftrag.
    2. Wenn der Auftrag erfolgreich ausgeführt wird und eine neue Ausführung gestartet wird oder die Ausführung einen Schwellenwert ohne Fehler überschreitet, gilt der Auftrag als fehlerfrei, und die Backoffsequenz wird zurückgesetzt.

Sie können einen fortlaufenden Auftrag im exponentiellen Backoff-Zustand in der Benutzeroberfläche für Aufträge neu starten oder die Auftrags-ID an die Anforderung POST /api/2.1/jobs/run-now in der Jobs 2.1-API oder die Anforderung POST /api/2.0/jobs/run-now in der Jobs 2.0-API übergeben.