Behandeln und Reparieren von Auftragsfehlern

Angenommen, Sie wurden benachrichtigt (z. B. über eine E-Mail-Benachrichtigung, eine Überwachungslösung oder auf der Benutzeroberfläche von Azure Databricks-Aufträge), dass eine Aufgabe bei der Ausführung Ihres Azure Databricks-Auftrags fehlgeschlagen ist. Die Schritte in diesem Artikel enthalten Anleitungen zum Iden der Fehlerursache, Vorschläge zum Beheben der gefundenen Probleme und Informationen zum Reparieren von fehlgeschlagenen Auftragsausführungen.

Identifizieren der Fehlerursache

So suchen Sie die fehlgeschlagene Aufgabe auf der Benutzeroberfläche von Azure Databricks-Aufträge:

  1. Klicken Sie auf Jobs IconAufträge in der Randleiste.

  2. Klicken Sie in der Spalte Name auf einen Auftragsnamen. Auf der Registerkarte Ausführungen werden aktive und abgeschlossene Ausführungen, einschließlich fehlgeschlagener Ausführungen, angezeigt. Die Matrixansicht auf der Registerkarte Ausführen zeigt einen Verlauf der Ausführung für den Auftrag an, einschließlich erfolgreicher und erfolgloser Ausführung für jede Auftragsaufgabe. Eine Aufgabenausführung ist möglicherweise nicht erfolgreich, weil sie fehlgeschlagen ist oder übersprungen wurde, weil ein abhängiger Vorgang fehlgeschlagen ist. Mithilfe der Matrixansicht können Sie die Aufgabenfehler für Ihre Auftragsausführung schnell identifizieren.

    Matrix view of job runs

  3. Zeigen Sie mit dem Mauszeiger auf eine fehlgeschlagene Aufgabe, um zugeordnete Metadaten anzuzeigen. Diese Metadaten enthalten das Start- und Enddatum, den Status, die Dauer, Clusterdetails und in einigen Fällen eine Fehlermeldung.

  4. Klicken Sie auf die fehlgeschlagene Aufgabe, um die Ursache des Fehlers zu identifizieren. Die Seite mit den Details zur Aufgabenausführung wird angezeigt, auf der die Ausgabe, die Fehlermeldung und die zugeordneten Metadaten für die Aufgabe zu sehen sind.

Beheben der Fehlerursache

Ihre Aufgabe ist möglicherweise aus mehreren Gründen fehlgeschlagen, beispielsweise aufgrund eines Datenqualitätsproblems, einer Fehlkonfiguration oder von nicht genügend Computeressourcen. Die folgenden Schritte zur Behebung einiger häufiger Ursachen von Aufgabenfehlern werden empfohlen:

  • Wenn der Fehler im Zusammenhang mit der Aufgabenkonfiguration steht, klicken Sie auf Aufgabe bearbeiten. Die Aufgabenkonfiguration wird auf einer neuen Registerkarte geöffnet. Aktualisieren Sie diese Konfiguration nach Bedarf, und klicken Sie auf Aufgabe speichern.
  • Wenn das Problem im Zusammenhang mit Clusterressourcen steht, z. B. unzureichenden Instanzen, gibt es mehrere Optionen:
    • Wenn Ihr Auftrag für die Verwendung eines Auftragsclusters konfiguriert wurde, erwägen Sie die Verwendung eines freigegebenen Allzweckclusters.
    • Ändern Sie die Clusterkonfiguration. Klicken Sie auf Aufgabe bearbeiten. Klicken Sie im Bereich Auftragsdetails unter Compute auf Konfigurieren, um den Cluster zu konfigurieren. Sie können die Anzahl von Workern, die Instanztypen oder andere Clusterkonfigurationsoptionen ändern. Sie können auch auf Austausch klicken, um zu einem anderen verfügbaren Cluster zu wechseln. Wenn Sie sicherstellen möchten, dass Sie die verfügbaren Ressourcen optimal nutzen, überprüfen Sie die bewährten Methoden für die Clusterkonfiguration.
    • Bitten Sie bei Bedarf einen Administrator, die Ressourcenkontingente im Cloudkonto und in der Region zu erhöhen, in der Ihr Arbeitsbereich bereitgestellt wurde.
  • Wenn der Fehler durch eine Überschreitung der maximalen Anzahl von gleichzeitigen Ausführungen verursacht wurde, gehen Sie wie folgt vor:
    • Warten Sie, bis andere Ausführungen abgeschlossen sind.
    • Klicken Sie auf Aufgabe bearbeiten. Klicken Sie im Bereich Auftragsdetails auf Gleichzeitige Ausführungen bearbeiten, geben Sie einen neuen Wert für Maximale Anzahl gleichzeitiger Ausführungen ein, und klicken Sie auf Bestätigen.

In einigen Fällen kann die Ursache für einen Fehler Ihrem Auftrag vorgeschaltet sein, wenn beispielsweise eine externe Datenquelle nicht verfügbar ist. Nachdem das externe Problem behoben wurde, können Sie das im nächsten Abschnitt behandelte Feature zur Reparaturausführung weiterhin nutzen.

Erneutes Ausführen fehlgeschlagener und übersprungener Aufgaben

Nachdem Sie die Fehlerursache identifiziert haben, können Sie fehlerhafte oder abgebrochene Aufträge mit mehreren Aufgaben reparieren, indem Sie nur die Teilmenge der nicht erfolgreichen Aufgaben und beliebige abhängige Aufgaben ausführen. Indem Sie erfolgreiche Aufgaben und alle Aufgaben, die von ihnen abhängig sind, nicht erneut ausführen, reduzieren Sie mit diesem Feature die Zeit und die Ressourcen, die zum Wiederherstellen von nicht erfolgreichen Auftragsausführungen erforderlich sind.

Sie können Auftrags- oder Aufgabeneinstellungen ändern, bevor Sie die Auftragsausführung reparieren. Fehlerhafte Aufgaben werden mit den aktuellen Auftrags- und Aufgabeneinstellungen erneut ausgeführt. Wenn Sie beispielsweise den Pfad zu einer Notebook- oder Clustereinstellung ändern, wird die Aufgabe mit den aktualisierten Notebook- oder Clustereinstellungen erneut ausgeführt.

Zeigen Sie den Verlauf aller Auftragsausführungen auf der Seite mit den Details zur Auftragsausführung an.

Hinweis

  • Wenn ein oder mehrere Aufgaben einen Auftragscluster gemeinsam nutzen, erstellt eine Reparaturausführung einen neuen Auftragscluster. Wenn z. B. die ursprüngliche Ausführung den Auftragscluster my_job_cluster verwendet hat, verwendet die erste Reparaturausführung den neuen Auftragscluster my_job_cluster_v1, sodass Sie den von der anfänglichen Ausführung und die von sämtlichen Reparaturausführungen verwendeten Cluster sowie die Clustereinstellungen einfach einsehen können. Die Einstellungen für my_job_cluster_v1 sind identisch mit den aktuellen Einstellungen für my_job_cluster.
  • Die Reparatur wird nur bei Aufträgen unterstützt, die zwei oder mehr Aufgaben orchestrieren.
  • Der auf der Registerkarte Ausführungen angezeigte Wert für die Dauer umfasst die Zeit vom Start der ersten Ausführung bis zum Abschluss der letzten Reparaturausführung. Wenn beispielsweise eine Ausführung zweimal fehlerhaft und erst bei der dritten Ausführung erfolgreich war, umfasst die Dauer die Zeit für alle drei Ausführungen.

So reparieren Sie einen fehlgeschlagenen Auftrag:

  1. Klicken Sie auf den Link für die fehlgeschlagene Ausführung in der Spalte Startzeit der Auftragsausführungstabelle, oder klicken Sie in der Matrixansicht auf die fehlgeschlagene Ausführung. Die Seite mit den Details zur Auftragsausführung wird angezeigt.
  2. Klicken Sie auf Ausführung reparieren. Das Dialogfeld Reparaturauftrag ausführen wird angezeigt. Es enthält alle nicht erfolgreichen Aufgaben und alle abhängigen Aufgaben, die erneut ausgeführt werden.
  3. Um Parameter für die zu reparierenden Aufgaben hinzuzufügen oder zu bearbeiten, geben Sie die Parameter im Dialogfeld Reparaturauftrag ausführen ein. Die Parameter, die Sie im Dialogfeld Reparaturauftrag ausführen eingeben, setzen die vorhandenen Werte außer Kraft. Bei nachfolgenden Reparaturausführungen können Sie einen Parameter auf seinem ursprünglichen Wert zurücksetzen, indem Sie den Schlüssel und den Wert im Dialogfeld Reparaturauftrag ausführen löschen.
  4. Klicken Sie im Dialogfeld Reparaturauftrag ausführen auf Reparaturausführung.
  5. Nach Abschluss der Reparaturausführung wird die Matrixansicht mit einer neuen Spalte für die reparierte Ausführung aktualisiert. Alle fehlgeschlagenen Aufgaben, die rot waren, sollten jetzt grün sein. Dies weist auf eine erfolgreiche Ausführung für Ihren gesamten Auftrag hin.

Anzeigen und Verwalten von fortlaufenden Auftragsfehlern

Wenn aufeinanderfolgende Fehler eines fortlaufenden Auftrags einen Schwellenwert überschreiten, verwendet Azure Databricks Jobs exponentielle Backoffs, um den Auftrag erneut zu wiederholen. Wenn sich ein Auftrag im exponentiellen Backoff-Zustand befindet, zeigt eine Meldung im Bereich Auftragsdetails Informationen an, einschließlich:

  • Anzahl der aufeinanderfolgenden Fehler.
  • Zeitraum für die Ausführung des Auftrags ohne Fehler, der als erfolgreich angesehen wird.
  • Zeit vor dem nächsten Wiederholungsversuche, wenn zurzeit keine Ausführung aktiv ist.

Um die aktive Ausführung abzubrechen, setzen Sie den Wiederholungszeitraum zurück, und starten Sie einen neuen Auftrag, indem Sie auf Neustart ausführen klicken.