Freigeben über


Ausführen eines Updates für eine Delta Live Tables-Pipeline

In diesem Artikel wird erläutert, was ein Update einer Delta Live Tables-Pipeline ist, und wie Sie es ausführen.

Nachdem Sie eine Pipeline erstellt haben und zur Ausführung bereit sind, starten Sie ein Update. Bei einem Pipelineupdate werden die folgenden Aktionen 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 Überprüfungsupdates können Sie probleme im Quellcode einer Pipeline überprüfen, ohne darauf zu warten, dass Tabellen erstellt oder aktualisiert werden. Dieses Feature ist nützlich, wenn Sie Pipelines entwickeln oder testen, da es Ihnen ermöglicht, Fehler in Ihrer Pipeline schnell zu finden und zu beheben, z. B. falsche Tabellen- oder Spaltennamen.

Informationen zum Erstellen einer Pipeline finden Sie unter Konfigurieren einer Delta Live Tables-Pipeline.

Sie können Pipelineupdates mit Databricks-Aufträgen oder anderen Tools koordinieren. Siehe Ausführen einer Delta Live Tables-Pipeline in einem Workflow.

Starten eines Pipelineupdates

Azure Databricks verfügt über mehrere Optionen zum Starten von Pipelineupdates, einschließlich der folgenden:

  • Auf der Benutzeroberfläche von Delta Live Tables sind die folgenden Optionen verfügbar:
    • Wählen Sie auf der Detailseite der Pipeline die Schaltfläche Startsymbol „Delta Live Tables“ aus.
    • Wählen Sie in der Liste „Pipelines“ in der Spalte Aktionen die Option Rechtspfeilsymbol aus.
  • Um ein Update in einem Notizbuch zu starten, fügen Sie das Notizbuch an eine konfigurierte Pipeline an, und klicken Sie auf " Start". Siehe Entwickeln und Debuggen von Delta Live Tables-Pipelines in Notebooks.
  • Sie können Pipelines programmgesteuert mithilfe der API oder der Befehlszeilenschnittstelle auslösen. Siehe Pipeline-API.
  • Sie können eine Pipeline mithilfe der Benutzeroberfläche von Delta Live Tables oder der Auftragsbenutzeroberfläche als Auftrag planen. Siehe Planen Sie eine Pipeline.

Hinweis

Das Standardverhalten für manuell ausgelöste Pipelineupdates mit einer dieser Methoden besteht darin, alle zu aktualisieren.

Update von Tabellen und Sichten durch Delta Live Tables

Die aktualisierten Tabellen und Ansichten sowie die Aktualisierung dieser Tabellen und Ansichten hängt vom Aktualisierungstyp ab:

  • Alle aktualisieren: Alle Tabellen werden aktualisiert, um den aktuellen Zustand ihrer Eingabedatenquellen wiederzugeben. Für Streamingtabellen werden neue Zeilen an die Tabelle angefügt.
  • Alle vollständig aktualisieren: Alle Tabellen werden aktualisiert, um den aktuellen Zustand ihrer Eingabedatenquellen wiederzugeben. Für Streamingtabellen versucht Delta Live Tables, alle Daten aus den einzelnen Tabellen zu löschen und dann alle Daten aus der Streamingquelle zu laden.
  • Refresh selection: The behavior of refresh selection is identisch to refresh all but allows you to refresh only selected tables. Ausgewählte Tabellen werden aktualisiert, um den aktuellen Zustand ihrer Eingabedatenquellen wiederzugeben. Bei Streamingtabellen werden neue Zeilen an die Tabelle angefügt.
  • Vollständige Aktualisierungsauswahl: Das Verhalten ist full refresh selection identisch mit full refresh all , ermöglicht es Ihnen jedoch, nur ausgewählte Tabellen vollständig zu aktualisieren. Ausgewählte Tabellen werden aktualisiert, um den aktuellen Zustand ihrer Eingabedatenquellen wiederzugeben. Bei Streamingtabellen versucht Delta Live Tables, alle Daten aus jeder Tabelle zu löschen und dann alle Daten aus der Streamingquelle zu laden.

Bei bestehenden materialisierten Sichten verhält sich ein Update genauso wie ein SQL-REFRESH für eine materialisierte Sicht. Bei neuen materialisierten Sichten entspricht das Verhalten einem SQL-CREATE-Vorgang.

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.

Hinweis

Die selektive Aktualisierung kann nur mit ausgelösten Pipelines verwendet werden.

So starten Sie auf der Seite Pipelinedetails ein Update, bei dem nur die ausgewählten Tabellen aktualisiert werden:

  1. Klicken Sie auf Select tables for refresh (Tabellen für die Aktualisierung auswählen). Das Dialogfeld Select tables for refresh wird angezeigt.

    Wenn die Schaltfläche "Tabellen zum Aktualisieren auswählen" nicht angezeigt wird, vergewissern Sie sich, dass auf der Seite "Pipelinedetails " das neueste Update angezeigt wird und dass die Aktualisierung abgeschlossen ist. Wenn eine DAG nicht für das neueste Update angezeigt wird, z. B. weil das Update fehlgeschlagen ist, werden die Tabellen für die Aktualisierungsschaltfläche "Auswählen" nicht angezeigt.

  2. 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.

  3. Klicken Sie auf Auswahl aktualisieren.

    Hinweis

    Auf der Schaltfläche Auswahl aktualisieren wird die Anzahl der ausgewählten Tabellen in Klammern angezeigt.

Klicken Sie neben der Schaltfläche "Auswahl aktualisieren" aufblaue, nach unten zeigende Caretzeichen "Vollständig aktualisieren", um die bereits für die ausgewählten Tabellen aufgenommenen Daten erneut zu verarbeiten.

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.

Klicken Sie auf der Seite Pipelinedetails auf Refresh failed tables (Fehlgeschlagene Tabellen aktualisieren), um fehlgeschlagene Tabellen zu aktualisieren.

So können Sie nur ausgewählte fehlgeschlagene Tabellen aktualisieren:

  1. Klicken Sie neben der Schaltfläche Refresh failed tables auf den Abwärtspfeil, und klicken Sie auf Select tables for refresh. Das Dialogfeld Select tables for refresh wird angezeigt.

  2. 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.

  3. Klicken Sie auf Auswahl aktualisieren.

    Hinweis

    Auf der Schaltfläche Auswahl aktualisieren wird die Anzahl der ausgewählten Tabellen in Klammern angezeigt.

Klicken Sie neben der Schaltfläche "Auswahl aktualisieren" aufblaue, nach unten zeigende Caretzeichen "Vollständig aktualisieren", um die bereits für die ausgewählten Tabellen aufgenommenen Daten erneut zu verarbeiten.

Überprüfen einer Pipeline auf Fehler, ohne auf die Aktualisierung von Tabellen zu warten

Wichtig

Das Feature Validate-Update von Delta Live Tables 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 Validate. Mit einem Validate-Update werden die Definitionen von Datasets und Flows aufgelöst, die in der Pipeline definiert sind, aber es werden keine Datasets materialisiert oder veröffentlicht. Fehler, die während der Überprüfung gefunden wurden (z. B. falsche Tabellen- oder Spaltennamen), werden auf der Benutzeroberfläche gemeldet.

Um ein Validate Update auszuführen, klicken Sie Blaues Feld mit Pfeil nach unten neben "Start" auf die Seite "Pipelinedetails", und klicken Sie auf "Überprüfen".

Nach Abschluss der Validate Aktualisierung zeigt das Ereignisprotokoll Nur Ereignisse im Zusammenhang mit dem Validate Update an, und in der DAG werden keine Metriken angezeigt. Wenn Fehler gefunden werden, finden Sie die zugehörigen Details im Ereignisprotokoll.

Es werden nur die Ergebnisse des neuesten Validate-Updates angezeigt. Wenn das Validate-Update das zuletzt ausgeführte Update war, können Sie die Ergebnisse anzeigen, indem Sie es unter Updateverlauf auswählen. Wenn nach dem Validate-Update ein weiteres Update ausgeführt wird, sind die Ergebnisse auf der Benutzeroberfläche nicht länger verfügbar.

Auswählen von Pipelinegrenzen

Eine Delta Live Tables-Pipeline kann Updates einer einzelnen Tabelle, vieler Tabellen mit abhängigen Beziehungen, vieler Tabellen ohne Beziehungen oder mehrerer unabhängiger Flows von Tabellen mit abhängigen Beziehungen verarbeiten. Dieser Abschnitt enthält Überlegungen zum Aufteilen von Pipelines.

Größere Delta Live Tables-Pipelines haben mehrere Vorteile. Dabei handelt es sich z. B. um:

  • Effizienterer Einsatz von Clusterressourcen
  • Verringern der Anzahl von Pipelines in Ihrem Arbeitsbereich
  • Reduzieren der Komplexität der Workfloworchestrierung

Allgemeinen Empfehlungen für die Aufteilung der Pipelineverarbeitung:

  • Aufteilen von Funktionen auf verschiedene Teams. Ihr Datenteam kann beispielsweise Pipelines verwalten, um Daten zu transformieren, während Ihre Datenanalysten Pipelines verwalten, die die transformierten Daten analysieren.
  • Aufteilen der Funktionalität auf verschiedene Anwendungen, um die Kopplung zu reduzieren und die Wiederverwendung allgemeiner Funktionen zu vereinfachen.

Entwicklungs- und Produktionsmodi

Sie können die Pipelineausführung optimieren, indem Sie zwischen Entwicklungs- und Produktionsmodi wechseln. Verwenden Sie die Schaltflächen mit dem Symbol zum Umschalten der Delta Live Tables-Umgebung auf der Pipeline-Benutzeroberfläche, um zwischen diesen beiden Modi zu wechseln. Standardmäßig werden Pipelines im Entwicklungsmodus ausgeführt.

Wenn Sie Ihre Pipeline im Entwicklungsmodus ausführen, führt das Delta Live Tables-System Folgendes aus:

  • Wiederverwendet einen Cluster, um den Mehraufwand für Neustarts zu vermeiden. Wenn der Entwicklungsmodus aktiviert ist, werden Cluster standardmäßig Cluster zwei Stunden lang ausgeführt. Sie können dies mit der Einstellung in der pipelines.clusterShutdown.delay Configure compute for a Delta Live Tables pipeline ändern.
  • Deaktiviert Pipeline-Wiederholungsversuche, sodass Sie Fehler sofort erkennen und beheben können.

Im Produktionsmodus führt das Delta Live Tables-System Folgendes aus:

  • Startet den Cluster für bestimmte wiederherstellbare Fehler neu, einschließlich Speicherverlusten und veralteten Anmeldeinformationen.
  • Die Ausführung wird bei bestimmten Fehlern wie einem Fehler erneut ausgeführt, z. B. bei einem Fehler beim Starten eines Clusters.

Hinweis

Der Wechsel zwischen Entwicklungs- und Produktionsmodi steuert nur das Ausführungsverhalten von Clustern und Pipelines. 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.

Planen einer Pipeline

Sie können eine ausgelöste Pipeline manuell starten oder die Pipeline nach einem Zeitplan mit einem Azure Databricks-Auftrag ausführen. Sie können einen Auftrag mit einer einzelnen Pipelineaufgabe direkt in der Delta Live Tables-Benutzeroberfläche erstellen und planen oder eine Pipelineaufgabe einem Workflow mit mehreren Aufgaben auf der Auftragsbenutzeroberfläche hinzufügen. Siehe Delta Live Tables-Pipeline-Aufgabe für Jobs.

So erstellen Sie einen Einzelaufgabenauftrag und einen Zeitplan für den Auftrag in der Delta Live Tables-Benutzeroberfläche:

  1. Klicken Sie auf Zeitplan > Zeitplan hinzufügen. Wenn die Pipeline in einem oder mehreren geplanten Aufträgen enthalten ist, wird die Schaltfläche "Zeitplan " aktualisiert, um die Anzahl vorhandener Zeitpläne anzuzeigen, z. B. "Zeitplan (5)".
  2. Geben Sie im Feld Auftragsname einen Namen für den Auftrag ein.
  3. Legen Sie den Zeitplan auf Geplant fest.
  4. Geben Sie den Zeitraum, die Startzeit und die Zeitzone an.
  5. Konfigurieren Sie eine oder mehrere E-Mail-Adressen, um Warnungen zu Pipelinestart, Erfolg oder Fehler zu erhalten.
  6. Klicken Sie auf Erstellen.