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.
In diesem Artikel werden Pipelineupdates erläutert und Details zum Auslösen eines Updates bereitgestellt.
Was ist ein Pipelineupdate?
Nachdem Sie eine Pipeline erstellt haben und zur Ausführung bereit sind, starten Sie ein Update. Bei einem Pipeline-Update werden die folgenden Aktivitäten ausgeführt:
- Startet einen Cluster mit der richtigen Konfiguration.
- Ermittelt alle definierten Tabellen und Ansichten und sucht nach Analysefehlern wie ungültigen Spaltennamen, fehlenden Abhängigkeiten und Syntaxfehlern.
- Erstellt oder aktualisiert Tabellen und Sichten mit den neuesten verfügbaren Daten.
Mithilfe eines Trockenlaufs können Sie probleme im Quellcode einer Pipeline überprüfen, ohne auf die Erstellung oder Aktualisierung von Tabellen zu warten. Dieses Feature ist beim Entwickeln oder Testen von Pipelines nützlich, da Sie fehler in Ihrer Pipeline schnell finden und beheben können, z. B. falsche Tabellen- oder Spaltennamen.
Wie werden Pipeline-Updates ausgelöst?
Verwenden Sie eine der folgenden Optionen, um Pipelineupdates zu starten:
| Trigger aktualisieren | Einzelheiten |
|---|---|
| Handbuch | Sie können Pipelineupdates manuell aus dem Lakeflow Pipelines Editor oder der Pipelineliste auslösen. Siehe Manuelles Auslösen eines Pipeline-Updates. |
| Geplant | Sie können Updates für Pipelines mithilfe von Aufträgen planen. Siehe Pipelineaufgabe für Aufträge. |
| Programmgesteuert | Sie können Updates programmgesteuert mithilfe von Drittanbietertools, APIs und CLIs auslösen. Beachten Sie Ausführen von Pipelines in einem Workflow und die Pipeline-REST-API. |
Manuelles Auslösen eines Pipeline-Updates
Verwenden Sie eine der folgenden Optionen, um ein Pipelineupdate manuell auszulösen:
- Führen Sie die vollständige Pipeline oder eine Teilmenge der Pipeline (eine einzelne Quelldatei oder eine einzelne Tabelle) aus dem Lakeflow Pipelines-Editor aus. Weitere Informationen finden Sie unter Ausführen des Pipelinecodes.
- Führen Sie die vollständige Pipeline aus der Liste "Aufträge und Pipelines" aus. Klicken Sie auf das
in derselben Zeile wie die Pipeline in der Liste.
- Klicken Sie auf der Pipelineüberwachungsseite auf die
.
Hinweis
Das Standardverhalten für manuell ausgelöste Pipelineupdates besteht darin, alle in der Pipeline definierten Datasets zu aktualisieren.
Semantik für Pipelineaktualisierungen
Die folgende Tabelle beschreibt das standardmäßige Verhalten von Aktualisierung, vollständiger Aktualisierung und Zurücksetzen von Prüfpunkten für materialisierte Ansichten und Streamingtabellen:
| Aktualisierungstyp | Materialisierte Ansicht | Streamingtabelle |
|---|---|---|
| Aktualisieren (Standard) | Aktualisiert die Ergebnisse, um die aktuellen Ergebnisse für die definierende Abfrage widerzuspiegeln. Überprüft die Kosten und führt eine inkrementelle Aktualisierung durch, wenn sie kostengünstiger ist. | Hiermit werden neue Datensätze durch Logik verarbeitet, die in Streamingtabellen und Flows definiert ist. |
| Vollständige Aktualisierung | Aktualisiert die Ergebnisse, um die aktuellen Ergebnisse für die definierende Abfrage widerzuspiegeln. | Löscht Daten aus Streamingtabellen, löscht Zustandsinformationen (Prüfpunkte) aus Flüssen und verarbeitet alle Datensätze aus der Datenquelle. |
| Zurücksetzen von Streamingflussprüfpunkten | Gilt nicht für materialisierte Ansichten. | Löscht Zustandsinformationen (Prüfpunkte) aus Flüssen, löscht jedoch keine Daten aus Streamingtabellen und verarbeitet alle Datensätze aus der Datenquelle erneut. |
Standardmäßig werden alle materialisierten Ansichten und Streamingtabellen in einer Pipeline mit jedem Update aktualisiert. Sie können Tabellen optional von Updates weglassen, indem Sie die folgenden Features verwenden:
- Tabellen zum Aktualisierenauswählen: Verwenden Sie diese Benutzeroberfläche, um materialisierte Ansichten und Streamingtabellen hinzuzufügen oder zu entfernen, bevor Sie eine Aktualisierung ausführen. Siehe Starten eines Pipelineupdates für ausgewählte Tabellen.
- Aktualisieren fehlgeschlagener Tabellen: Starten Sie ein Update für fehlgeschlagene materialisierte Sichten und Streamingtabellen (einschließlich Downstreamabhängigkeiten). Siehe Starten eines Pipeline-Updates für die fehlerhaften Tabellen.
Beide Features unterstützen standardmäßige Aktualisierungssemantik oder vollständige Aktualisierung. Sie können optional das Dialogfeld Tabellen für Aktualisierung auswählen verwenden, um zusätzliche Tabellen auszuschließen, wenn eine Aktualisierung für fehlerhafte Tabellen ausgeführt wird.
Für Streamingtabellen können Sie die Streaming-Checkpoints für ausgewählte Datenflüsse löschen, aber nicht die Daten aus den zugehörigen Streamingtabellen. Um die Prüfpunkte für ausgewählte Flüsse zu löschen, verwenden Sie die Databricks-REST-API, um eine Aktualisierung zu starten. Siehe Starten eines Pipelineupdates, um die Kontrollpunkte ausgewählter Streamingflüsse zu löschen.
Sollte ich eine vollständige Aktualisierung verwenden?
Databricks empfiehlt, vollständige Aktualisierungen nur bei Bedarf auszuführen. Eine vollständige Aktualisierung verarbeitet immer alle Datensätze aus den angegebenen Datenquellen über die Logik, die das Dataset definiert. Die Zeit und Ressourcen zum Abschließen einer vollständigen Aktualisierung werden mit der Größe der Quelldaten korreliert.
Materialisierte Ansichten geben dieselben Ergebnisse zurück, unabhängig davon, ob die Standardaktualisierung oder die vollständige Aktualisierung verwendet wird. Bei einer vollständigen Aktualisierung mit Streamingtabellen werden alle Statusverarbeitungs- und Prüfpunktinformationen zurückgesetzt. Dies kann zu verworfenen Datensätzen führen, wenn Eingabedaten nicht mehr verfügbar sind.
Databricks empfiehlt nur die vollständige Aktualisierung, wenn die Eingabedatenquellen die daten enthalten, die erforderlich sind, um den gewünschten Zustand der Tabelle oder Ansicht neu zu erstellen. Berücksichtigen Sie die folgenden Szenarien, in denen Eingabequellendaten nicht mehr verfügbar sind, und das Ergebnis der Ausführung einer vollständigen Aktualisierung:
| Datenquelle | Gründeingabedaten sind nicht vorhanden | Ergebnis der vollständigen Aktualisierung |
|---|---|---|
| Kafka | Kurzer Aufbewahrungsschwellenwert | Datensätze, die nicht mehr in der Kafka-Quelle vorhanden sind, werden aus der Zieltabelle gelöscht. |
| Dateien im Objektspeicher | Lebenszyklusrichtlinie | Datendateien, die nicht mehr im Quellverzeichnis vorhanden sind, werden aus der Zieltabelle gelöscht. |
| Datensätze in einer Tabelle | Aus Gründen der Compliance gelöscht | Es werden nur Datensätze verarbeitet, die in der Quelltabelle vorhanden sind. |
Um zu verhindern, dass vollständige Aktualisierungen in einer Tabelle oder Ansicht ausgeführt werden, legen Sie die Tabelleneigenschaft pipelines.reset.allowed auf falsefest. Siehe Pipelinetabelleneigenschaften. Sie können auch einen Anfügeflow verwenden, um Daten an eine vorhandene Streamingtabelle anzufügen, ohne dass eine vollständige Aktualisierung erforderlich ist.
Starten eines Pipelineupdates für ausgewählte Tabellen
Optional können Sie Daten nur für ausgewählte Tabellen in Ihrer Pipeline neu verarbeiten. Beispielsweise ändern Sie bei der Entwicklung nur eine einzige Tabelle und möchten die Testzeit verkürzen, oder ein Pipelineupdate schlägt fehl, und Sie möchten nur die fehlgeschlagenen Tabellen aktualisieren.
Der Lakeflow-Pipelines-Editor verfügt über Optionen zum Erneuten Verarbeiten einer Quelldatei, ausgewählter Tabellen oder einer einzelnen Tabelle. Weitere Informationen finden Sie unter Ausführen von Pipeline-Code.
Starten eines Pipelineupdates für fehlgeschlagene Tabellen
Wenn ein Pipelineupdate aufgrund von Fehlern in einer oder mehreren Tabellen im Pipelinegraphen fehlschlägt, können Sie das Update nur der fehlgeschlagenen Tabellen und Downstreamabhängigkeiten starten.
Hinweis
Ausgeschlossene Tabellen werden nicht aktualisiert, auch wenn sie von einer fehlgeschlagenen Tabelle abhängig sind.
Um fehlgeschlagene Tabellen zu aktualisieren, klicken Sie auf der Pipelineüberwachungsseite auf "Aktualisieren fehlgeschlagener Tabellen".
So aktualisieren Sie nur ausgewählte fehlgeschlagene Tabellen auf der Pipelineüberwachungsseite:
Klicken Sie zunächst neben der Schaltfläche
Button DownFehlerhafte Tabellen aktualisieren auf das Symbol und dann auf die Option Tabellen für Aktualisierung auswählen. Das Dialogfeld Tabellen für Aktualisierung auswählen wird angezeigt.Wenn Sie die zu aktualisierenden Tabellen auswählen möchten, klicken Sie auf jede Tabelle. Die ausgewählten Tabellen werden hervorgehoben und beschriftet. Wenn Sie eine Tabelle aus der Aktualisierung entfernen möchten, klicken Sie erneut auf die Tabelle.
Klicken Sie auf Auswahl aktualisieren.
Hinweis
Auf der Schaltfläche Auswahl aktualisieren wird die Anzahl der ausgewählten Tabellen in Klammern angezeigt.
Um die bereits für die ausgewählten Tabellen aufgenommenen Daten erneut zu verarbeiten, klicken Sie auf das
neben der Schaltfläche Auswahl aktualisieren und wählen Sie dann Vollständig aktualisieren.
Starten eines Pipelineupdates zum Löschen der Prüfpunkte für selektive Streamingflüsse
Sie können optional Daten für ausgewählte Streamingflüsse in Ihrer Pipeline erneut verarbeiten, ohne bereits aufgenommene Daten zu löschen.
Hinweis
Nicht ausgewählte Flüsse werden mit einem REFRESH Update ausgeführt. Sie können auch full_refresh_selection oder refresh_selection angeben, um andere Tabellen selektiv zu aktualisieren.
Um ein Update zum Aktualisieren der ausgewählten Streamingprüfpunkte zu starten, verwenden Sie die Aktualisierungsanforderung in der REST-API von Lakeflow Spark Declarative Pipelines. Im folgenden Beispiel wird der curl Befehl verwendet, um die updates Anforderung zum Starten eines Pipelineupdates aufzurufen:
curl -X POST \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"reset_checkpoint_selection": [<streaming flow1>, <streaming flow 2>...]
}' \
https://<your-databricks-instance>/api/2.0/pipelines/<your-pipeline-id>/updates
Überprüfen einer Pipeline auf Fehler, ohne auf die Aktualisierung von Tabellen zu warten
Von Bedeutung
Die Pipeline-Funktion Dry run befindet sich in der öffentlichen Vorschau.
Um zu überprüfen, ob der Quellcode einer Pipeline gültig ist, ohne ein vollständiges Update auszuführen, verwenden Sie einen Trockenlauf. Ein Trockenlauf löst die Definitionen von Datasets und Flüssen auf, die in der Pipeline definiert sind, führt jedoch weder zur Materialisierung noch zur Veröffentlichung von Datasets. Fehler, die während des Testlaufs gefunden wurden, wie z. B. unrichtige Tabellen- oder Spaltennamen, werden in der Benutzeroberfläche gemeldet.
Um einen Trockenlauf zu starten, klicken Sie auf der Seite mit den Pipelinedetails neben
Blue Down Caret"Start" auf ", und klicken Sie dann auf "Trockenlauf".
Nach Abschluss des Trockenlaufs werden alle Fehler in der Ereignisleiste im unteren Bereich angezeigt. Wenn Sie auf die Ereignisleiste klicken, werden alle Probleme angezeigt, die im unteren Bereich gefunden wurden. Darüber hinaus zeigt das Ereignisprotokoll Ereignisse an, die nur mit dem Trockenlauf zusammenhängen, und es werden keine Metriken in der DAG angezeigt. Wenn Fehler gefunden werden, finden Sie die zugehörigen Details im Ereignisprotokoll.
Sie können ergebnisse nur für den letzten Trockenlauf anzeigen. Wenn es sich bei der trockenen Ausführung um das zuletzt ausgeführte Update handelt, können Sie die Ergebnisse anzeigen, indem Sie sie im Updateverlauf auswählen. Wenn nach dem Testlauf ein weiteres Update ausgeführt wird, sind die Ergebnisse in der Benutzeroberfläche nicht mehr verfügbar.
Entwicklungsmodus
Pipelines werden aus dem Lakeflow Pipelines Editor ausgeführt, wobei der Entwicklungsmodus aktiviert ist. Geplante Pipelines werden standardmäßig mit deaktiviertem Entwicklungsmodus ausgeführt. Wenn Sie testen möchten, wie die Pipeline in der Produktion ausgeführt wird, können Sie interaktiv auswählen, ob der Entwicklungsmodus verwendet werden soll, indem Sie " Ausführen" mit verschiedenen Einstellungen aus der Dropdownliste im Editor auswählen.
Hinweis
Pipelines, die mit dem älteren Notizbuch-Editor erstellt wurden, verwenden standardmäßig den Entwicklungsmodus. Sie können die Einstellung überprüfen oder ändern, indem Sie " Einstellungen " auf der Seite "Pipelineüberwachung" auswählen. Die Überwachungsseite ist über die Schaltfläche Aufträge & Pipelines auf der linken Seite des Arbeitsbereichs verfügbar. Sie können auch direkt über den Pipeline-Editor zur Überwachungsseite springen, indem Sie im Pipelineressourcenbrowser auf die Ausführungsergebnisse klicken.
Wenn Sie Ihre Pipeline im Entwicklungsmodus ausführen, führt das Lakeflow Spark Declarative Pipelines-System die folgenden Aktionen aus:
- Verwendet einen Cluster wieder, um den Mehraufwand für Neustarts zu vermeiden. Wenn der Entwicklungsmodus aktiviert ist, werden Cluster standardmäßig zwei Stunden lang ausgeführt. Mit der
pipelines.clusterShutdown.delayEinstellung in der Klassische Berechnung für Pipelines konfigurieren können Sie dies ändern. - Deaktiviert Pipeline-Wiederholungsversuche, sodass Sie Fehler sofort erkennen und beheben können.
Wenn der Entwicklungsmodus deaktiviert ist, führt das System folgende Aktionen aus:
- Startet den Cluster für bestimmte wiederherstellbare Fehler neu, einschließlich Speicherverlusten und veralteten Anmeldeinformationen.
- Bei bestimmten Fehlern wird die Ausführung erneut ausgeführt, z. B. bei einem Fehler beim Starten eines Clusters.
Hinweis
Wenn Sie den Entwicklungsmodus aktivieren und deaktivieren, wird nur das Cluster- und Pipelineausführungsverhalten gesteuert. Speicherorte und Zielschemas im Katalog zum Veröffentlichen von Tabellen müssen als Teil der Pipelineeinstellungen konfiguriert werden und sind beim Wechseln zwischen Modi nicht betroffen.