Aktualisierungen planen

Sie können eine eigenständige materialisierte Ansicht oder Streamingtabelle manuell aktualisieren, wenn Sie wissen, dass die Quelltabellen aktualisiert wurden. Sie können jedoch auch einen Zeitplan für Aktualisierungen festlegen, entweder nach Zeit, wenn Quelltabellen aktualisiert werden, oder über die Orchestrierung. Auf dieser Seite wird beschrieben, wie Sie die Zeitpläne für Ihre eigenständigen Tabellen erstellen.

Sie können auch Benachrichtigungen erstellen und den Leistungsmodus für die geplanten Aktualisierungen festlegen.

Einen Zeitplan erstellen

Sie können eine eigenständige Pipeline so konfigurieren, dass sie automatisch basierend auf einem definierten Zeitplan aktualisiert oder ausgelöst wird, wenn upstream-Daten geändert werden. In der folgenden Tabelle sind die verschiedenen Optionen für die Planung von Aktualisierungen aufgeführt.

Methode Beschreibung Exemplarischer Anwendungsfall
Manuell Aktualisierung bei Bedarf mithilfe einer SQL-Anweisung REFRESH oder über die Arbeitsbereichs-UI. Entwicklung, Tests, Ad-hoc-Updates.
TRIGGER ON UPDATE Planen Sie die Pipeline so, dass sie automatisch aktualisiert wird, wenn sich die Upstreamdaten ändern. Produktionsworkloads mit SLAs zur Datenaktualität oder unvorhersehbaren Aktualisierungszeiträumen.
SCHEDULE Planen Sie die Pipeline so, dass sie in definierten Zeitintervallen aktualisiert wird. Vorhersehbare, zeitbasierte Aktualisierungsanforderungen.
SQL-Aufgabe in einem Auftrag Die Aktualisierung wird durch Lakeflow Jobs orchestriert. Komplexe Pipelines mit systemübergreifenden Abhängigkeiten.

Auch wenn Sie Aktualisierungen planen, können Sie jederzeit eine manuelle Aktualisierung ausführen, wenn Sie aktualisierte Daten benötigen.

Manuelle Aktualisierung

Um eine Pipeline manuell zu aktualisieren, können Sie eine Aktualisierung aus Databricks SQL aufrufen oder die Arbeitsbereichs-UI verwenden.

REFRESH-Anweisung

So aktualisieren Sie eine Pipeline mit Databricks SQL:

  1. Im Abfrage-Editor-Symbol im SQL-Editor führen Sie die folgende Anweisung aus:

    REFRESH MATERIALIZED VIEW <table-name>;
    

    Verwenden Sie REFRESH STREAMING TABLEfür Streamingtabellen .

Weitere Informationen finden Sie unter REFRESH (MATERIALIZED VIEW oder STREAMING TABLE).

Benutzeroberfläche des Arbeitsbereichs

So aktualisieren Sie eine Pipeline in der Arbeitsbereichs-UI:

  1. Klicken Sie im Azure Databricks-Arbeitsbereich auf das Symbol Aufträge & Pipelines.
  2. Wählen Sie die Pipeline aus, die Sie aus der Liste aktualisieren möchten.
  3. Klicken Sie auf die Schaltfläche Start.

Während die Pipeline aktualisiert wird, werden Aktualisierungen auf der Benutzeroberfläche angezeigt.

Auslösen bei Aktualisierung

Die TRIGGER ON UPDATE Klausel aktualisiert automatisch eine Pipeline, wenn sich die Upstream-Quelldaten ändern. Dies beseitigt die Notwendigkeit, Zeitpläne über Pipelines hinweg zu koordinieren. Der Datensatz bleibt aktuell, ohne dass der Benutzer wissen muss, wann Upstream-Einzelvorgänge abgeschlossen oder komplexe Planungslogiken verwaltet werden.

Dies ist der empfohlene Ansatz für Produktionsworkloads, insbesondere, wenn vorherige Abhängigkeiten nicht nach vorhersehbaren Zeitplänen ablaufen. Nach dem Konfigurieren des Triggers für das Update überwacht die Pipeline die Quelltabellen und wird automatisch aktualisiert, wenn Änderungen in einer der upstream-Quellen erkannt werden.

Einschränkungen

  • Upstream-Abhängigkeitsgrenzwerte: Eine Pipeline kann maximal 10 upstream-Tabellen und 30 Upstreamansichten überwachen. Für weitere Abhängigkeiten teilen Sie die Logik über mehrere Pipelines hinweg.
  • Arbeitsbereichsbeschränkungen: Pro Arbeitsbereich können maximal 1.000 Pipelines mit TRIGGER ON UPDATE vorhanden sein. Wenden Sie sich an den Support von Databricks, wenn mehr als 1.000 erforderlich sind.
  • Minimales Intervall: Das minimale Auslöserintervall beträgt 1 Minute.

In den folgenden Beispielen wird gezeigt, wie sie beim Definieren einer Pipeline einen Trigger für das Update festlegen.

Erstellen einer Pipeline mit Trigger beim Update

Wenn Sie eine Pipeline erstellen möchten, die beim Ändern von Quelldaten automatisch aktualisiert wird, schließen Sie die TRIGGER ON UPDATE Klausel in die CREATE Anweisung ein.

Im folgenden Beispiel wird eine Streamingtabelle erstellt, die Kundenbestellungen liest und bei jeder Aktualisierung der Quelltabelle orders aktualisiert wird:

CREATE OR REFRESH STREAMING TABLE catalog.schema.customer_orders
  TRIGGER ON UPDATE
AS SELECT
    o.customer_id,
    o.name,
    o.order_id
FROM catalog.schema.orders o;

Aktualisierungsfrequenz der Drosselung

Wenn Upstream-Daten häufig aktualisiert werden, verwenden Sie AT MOST EVERY, um zu steuern, wie oft die Ansicht aktualisiert wird, und die Berechnungskosten zu reduzieren. Dies ist nützlich, wenn Quelltabellen häufig aktualisiert werden, aber nachgeschaltete Verbraucher benötigen keine Echtzeitdaten. Das INTERVAL Schlüsselwort ist vor dem Zeitwert erforderlich.

Im folgenden Beispiel wird die Streamingtabelle maximal alle 5 Minuten aktualisiert, auch wenn sich Quelldaten häufiger ändern:

CREATE OR REFRESH STREAMING TABLE catalog.schema.customer_orders
  TRIGGER ON UPDATE AT MOST EVERY INTERVAL 5 MINUTES
AS SELECT
    o.customer_id,
    o.name,
    o.order_id
FROM catalog.schema.orders o;

Geplante Aktualisierung

Aktualisierungszeitpläne können direkt in der Pipelinedefinition definiert werden, um die Ansicht in festen Zeitintervallen zu aktualisieren. Dieser Ansatz ist nützlich, wenn der Datenaktualisierungsrhythmen bekannt ist und eine vorhersagbare Aktualisierungszeitdauer gewünscht wird.

Wenn ein Aktualisierungszeitplan vorhanden ist, können Sie jederzeit eine manuelle Aktualisierung ausführen, wenn Sie aktualisierte Daten benötigen.

Databricks unterstützt zwei Planungssyntaxen: SCHEDULE EVERY für einfache Intervalle und SCHEDULE CRON für präzise Planung. Die SCHEDULE Schlüsselwörter und SCHEDULE REFRESH Schlüsselwörter sind semantisch gleichwertig.

Ausführliche Informationen zur Syntax und Verwendung der SCHEDULE Klausel finden Sie unter CREATE STREAMING TABLE SCHEDULE-Klausel oder CREATE MATERIALIZED VIEW SCHEDULE-Klausel.

Beim Erstellen eines Zeitplans wird automatisch ein neuer Databricks-Auftrag konfiguriert, um die Aktualisierung zu verarbeiten.

Führen Sie zum Anzeigen des Zeitplans einen der folgenden Schritte aus:

  • Führen Sie die DESCRIBE EXTENDED Anweisung aus dem SQL-Editor in der Azure Databricks-Benutzeroberfläche aus. Siehe DESCRIBE TABLE.
  • Verwenden Sie den Katalog-Explorer, um das Dataset anzuzeigen. Der Zeitplan wird auf der Registerkarte Übersicht unter Aktualisierungsstatus aufgeführt. Siehe Was ist der Katalog-Explorer?.

Die folgenden Beispiele zeigen, wie Sie eine materialisierte Ansicht mit einem Zeitplan erstellen:

Jedes Zeitintervall planen

In diesem Beispiel wird jede Stunde eine Aktualisierung geplant. Die EVERY Klausel unterstützt Stunden-, Tages- und Wochenintervalle. Verwenden Sie SCHEDULE CRON stattdessen für Unterstundenintervalle.

CREATE OR REPLACE MATERIALIZED VIEW catalog.schema.hourly_metrics
  SCHEDULE EVERY 1 HOUR
AS SELECT
    date_trunc('hour', event_time) AS hour,
    count(*) AS events
FROM catalog.schema.raw_events
GROUP BY 1;

Planen mit Cron

In diesem Beispiel wird eine Aktualisierung alle 15 Minuten in der Quartalsstunde der UTC-Zeitzone geplant:

CREATE OR REPLACE MATERIALIZED VIEW catalog.schema.regular_metrics
  SCHEDULE CRON '0 */15 * * * ?' AT TIME ZONE 'UTC'
AS SELECT
    date_trunc('minute', event_time) AS minute,
    count(*) AS events
FROM catalog.schema.raw_events
WHERE event_time > current_timestamp() - INTERVAL 1 HOUR
GROUP BY 1;

SQL-Aufgabe in einem Auftrag

Pipelineaktualisierungen können durch Lakeflow-Aufträge orchestriert werden, indem SQL-Aufgaben erstellt werden, die REFRESH-Befehle enthalten. Bei diesem Ansatz werden Pipeline-Aktualisierungen durch Einzelvorgänge in bestehende Orchestrierung integriert.

Es gibt zwei Möglichkeiten zum Erstellen eines Auftrags zum Aktualisieren von Streamingtabellen:

  • Schreiben Sie im SQL-Editor den REFRESH Befehl, und klicken Sie auf die Schaltfläche "Zeitplan ", um einen Auftrag direkt aus der Abfrage zu erstellen.
  • Erstellen Sie in der Benutzeroberfläche "Auftrag" einen neuen Auftrag, fügen Sie einen SQL-Aufgabentyp hinzu, und verbinden Sie eine SQL-Abfrage oder ein Notizbuch mit dem REFRESH-Befehl.

Das folgende Beispiel zeigt die SQL-Anweisung innerhalb einer SQL-Aufgabe, die eine Streamingtabelle aktualisiert:

REFRESH STREAMING TABLE catalog.schema.sales;

Note

Bei eigenständigen materialisierten Ansichten und Streaming-Tabellen führt die Orchestrierung einer Aktualisierung über einen Job nicht zu deren kontinuierlicher Ausführung. Jede Jobausführung führt eine einzelne ausgelöste Aktualisierung durch. Die kontinuierliche Ausführung über einen Job gilt nur für Lakeflow-Pipelines. Siehe Eine kontinuierliche Pipeline mit einem kontinuierlichen Job ausführen.

Dieser Ansatz ist geeignet, wenn:

  • Komplexe mehrstufige Pipelines weisen Abhängigkeiten auf allen Systemen auf.
  • Es ist eine Integration in die Orchestrierung von vorhandenen Einzelvorgänge erforderlich.
  • Warnungen und Überwachung auf Auftragsebene sind erforderlich.

SQL-Aufgaben verwenden sowohl das SQL Warehouse, das an den Auftrag angefügt ist, als auch die serverlose Berechnung, die die Aktualisierung ausführt. Wenn die definitionsbasierte Planung von Streamingtabellen die Anforderungen erfüllt, kann der Wechsel zu TRIGGER ON UPDATE oder SCHEDULE den Workflow vereinfachen.

Hinzufügen eines Zeitplans zu einer vorhandenen Pipeline

Um den Zeitplan nach der Erstellung festzulegen, verwenden Sie die ALTER STREAMING TABLE oder ALTER MATERIALIZED VIEW Anweisung. Beispiel:

-- Alters the schedule to refresh the streaming table when its upstream
-- data gets updated.
ALTER STREAMING TABLE sales
  ADD TRIGGER ON UPDATE;

Ändern eines vorhandenen Zeitplans oder Triggers

Wenn einer Pipeline bereits ein Zeitplan oder ein Trigger zugeordnet ist, verwenden Sie ALTER SCHEDULE oder ALTER TRIGGER ON UPDATE, um die Aktualisierungskonfiguration zu ändern. Dies gilt sowohl für den Wechsel von einem Zeitplan zu einem anderen als auch von einem Trigger zu einem anderen sowie beim Wechsel zwischen einem Zeitplan und einem Trigger.

Im folgenden Beispiel wird ein vorhandener Zeitplan so geändert, dass er alle 5 Minuten aktualisiert wird. Da die EVERY Klausel keine Minutenintervalle unterstützt, verwenden Sie einen CRON Ausdruck für Unterstundenpläne:

ALTER STREAMING TABLE catalog.schema.my_table
  ALTER SCHEDULE CRON '0 */5 * * * ?';

Löschen eines Plans oder Triggers

Verwenden Sie ALTER ... DROPfolgendes, um einen Zeitplan zu entfernen:

ALTER STREAMING TABLE catalog.schema.my_table
  DROP SCHEDULE;

Nachverfolgen des Status einer Aktualisierung

Sie können den Status einer Aktualisierung anzeigen, indem Sie die Pipeline in der Pipelines-Benutzeroberfläche anzeigen oder die vom Befehl für das Dataset zurückgegebenen DESCRIBE EXTENDED anzeigen.

DESCRIBE TABLE EXTENDED <table-name>;

Alternativ können Sie das Dataset im Katalog-Explorer anzeigen und den Aktualisierungsstatus dort anzeigen:

  1. Klicken Sie auf das Symbol Katalog in der Randleiste.
  2. Öffnen Sie in der Katalog-Explorer-Struktur links den Katalog, und wählen Sie das Schema aus, in dem sich Ihr Dataset befindet.
  3. Öffnen Sie das Tabellenelement unter dem ausgewählten Schema, und klicken Sie auf die Streamingtabelle oder die materialisierte Ansicht.

Von hier aus können Sie die Registerkarten unter dem Datasetnamen verwenden, um Informationen zum Dataset anzuzeigen und zu bearbeiten, einschließlich:

  • Status und Verlauf aktualisieren
  • Das Tabellenschema
  • Beispieldaten (erfordert eine aktive Berechnung)
  • Erlaubnisse
  • Herkunft, einschließlich Tabellen und anderer Pipelines, von der dieses Dataset abhängt
  • Einblicke in die Nutzung
  • Monitore, die Sie für dieses Dataset erstellt haben

Beenden einer aktiven Aktualisierung

Um eine aktive Aktualisierung in der Azure Databricks-Benutzeroberfläche zu beenden, klicken Sie auf der Seite "Pipelinedetails " auf "Beenden ", um die Pipelineaktualisierung zu beenden. Sie können die Aktualisierung auch mit der Databricks CLI oder der POST /api/2.0/pipelines/{pipeline_id}/stop operation in the Pipelines REST API beenden.

Anzeige des Verlaufs der Ausführung für eine geplante Aktualisierung

Wenn Sie Ihr Dataset im Katalog-Explorer öffnen, wird im Detailbereich auf der rechten Seite des Arbeitsbereichs der Zeitplan "Aktualisieren" angezeigt. Wenn Sie auf den Zeitplan klicken (z. B. auf den Link "Alle 1 Stunde") gelangen Sie zur Auftragsseite für den (vom System verwalteten) Auftrag, der den Zeitplan ausführt. Sie können den Verlauf der Ausführungen anzeigen, einschließlich eines Diagramms der letzten 48 Stunden, das den Erfolg oder Misserfolg sowie den Zeitaufwand der Ausführungen zeigt. Sie können auf einen bestimmten Lauf klicken, um weitere Details zu erhalten.

Sie können diesen vom System verwalteten Auftrag nicht bearbeiten. Um Änderungen am Zeitplan vorzunehmen, bearbeiten Sie die Definition der Pipeline mit CREATE OR REFRESH oder mit ALTER. Siehe Ändern eines vorhandenen Zeitplans oder Triggers.

Timeouts bei Aktualisierungen

Pipelineaktualisierungen werden mit einem Timeout ausgeführt, das begrenzt, wie lange sie ausgeführt werden können. Für eigenständige Pipelines, die ab dem 14. August 2025 erstellt oder aktualisiert wurden, wird das Timeout erfasst, wenn Sie das Update durch Ausführen von CREATE OR REFRESH vornehmen:

  • Wenn ein STATEMENT_TIMEOUT Wert festgelegt ist, wird dieser Wert verwendet. Siehe STATEMENT_TIMEOUT.
  • Andernfalls wird das Timeout aus dem SQL-Warehouse verwendet, um den Befehl auszuführen. Siehe Anweisungszeitlimit.
  • Wenn für das Lager kein Timeout konfiguriert ist, gilt ein Standardwert von 2 Tagen.

Das Timeout wird für die anfängliche Erstellung, aber auch für geplante Aktualisierungen verwendet, die folgen.

Für Streamingtabellen, die vor dem 14. August 2025 zuletzt aktualisiert wurden, wird das Timeout auf 2 Tage festgelegt.

Beispiel: Festlegen eines Timeouts für eine Aktualisierung Sie können explizit steuern, wie lange eine Aktualisierung ausgeführt werden darf, indem Sie beim Erstellen oder Aktualisieren des Datasets ein Timeout auf Anweisungsebene festlegen:

SET STATEMENT_TIMEOUT = '6h';

CREATE OR REFRESH MATERIALIZED VIEW my_catalog.my_schema.my_mv
  SCHEDULE EVERY 12 HOURS
AS SELECT * FROM large_source_table;

Dadurch wird die materialisierte Ansicht so eingerichtet, dass sie alle 12 Stunden aktualisiert wird, und falls eine Aktualisierung mehr als 6 Stunden dauert, erfolgt ein Timeout und die Ansicht wartet auf die nächste geplante Aktualisierung.

Wie geplante Aktualisierungen mit Timeouts umgehen

Timeouts werden nur synchronisiert, wenn Sie CREATE OR REFRESH explizit ausführen.

  • Geplante Aktualisierungen verwenden weiterhin das Timeout, das während des letzten CREATE OR REFRESH erfasst wurde.
  • Das Ändern des Warehouse-Timeouts allein wirkt sich nicht auf bestehende geplante Aktualisierungen aus.

Von Bedeutung

Führen Sie nach dem Ändern eines Warehousetimeouts CREATE OR REFRESH erneut aus, um das neue Timeout für zukünftige geplante Aktualisierungen zu übernehmen.

Benachrichtigungen für geplante Aktualisierungen erhalten

Von Bedeutung

Die Benachrichtigungen für geplante DDL-Aktualisierungen sind in der Betaversion enthalten. Arbeitsbereichsadministratoren können den Zugriff auf diese Funktion über die Vorschauseite steuern, indem sie die Vorschau für den von Systemen verwalteten Einzelvorgang für materialisierte Ansichten & Streamingtabellen aktivieren. Siehe Verwalten von Azure Databricks-Vorschauen.

Wenn Sie einen Zeitplan für Ihre Pipeline erstellen, können Sie ihn bearbeiten, um Benachrichtigungen zu erhalten. Es gibt mehrere Möglichkeiten zum Planen von Pipelines, und das Abrufen von Benachrichtigungen hängt davon ab, welche dieser Methoden Sie auswählen:

  • Mit einem Einzelvorgang geplant: Um Benachrichtigungen von einer SQL-Aufgabe in Lakeflow-Einzelvorgängen zu erhalten, bearbeiten Sie die Aufgabe und fügen Sie Benachrichtigungen hinzu. Siehe SQL-Aufgabe für Aufträge.

    Sie haben eine Vielzahl von Optionen für die empfangenen Benachrichtigungen und deren Empfang. Siehe Hinzufügen von Benachrichtigungen zu einem Auftrag

  • Geplant mit einer SCHEDULE Klausel: Um Benachrichtigungen aus einer Pipeline abzurufen, die von einer SCHEDULE Klausel in der SQL-Definition geplant wird, bearbeiten Sie sie im Katalog-Explorer:

    1. Öffnen Sie das Dataset im Katalog-Explorer.

    2. Klicken Sie auf der Registerkarte " Übersicht " unter " Zeitplan aktualisieren" auf " Bleistift Um den Zeitplan zu bearbeiten, für den Sie Benachrichtigungen empfangen möchten.

    3. Fügen Sie unter "Weitere Optionen" Benachrichtigungen hinzu oder ändern Sie sie.

      Sie haben die Möglichkeit, per E-Mail beim Start, Erfolg oder Fehler der geplanten Aktualisierung benachrichtigt zu werden. Standardmäßig wird der Besitzer nur bei Fehlern benachrichtigt.

      Die E-Mail enthält einen Link, über den Sie den Ausführungsverlauf des systemverwalteten Auftrags aufrufen können, der Ihren Zeitplan organisiert. Siehe Anzeige des Verlaufs der Ausführung für eine geplante Aktualisierung.

Auswählen eines Leistungsmodus für geplante Aktualisierungen

Die serverlose Berechnung, die von der Pipeline verwendet wird, wird im leistungsoptimierten Modus ausgeführt, wenn sie über die Benutzeroberfläche ausgeführt wird.

Für Pipelines, die in der SQL-Definition geplant sind, können Sie den serverlosen Leistungsmodus für Berechnungen mit der Einstellung Leistungsoptimiert im Katalog-Explorer auswählen. Wenn diese Einstellung deaktiviert ist (Standardeinstellung), verwendet die Pipeline den Standardleistungsmodus. Der Standardleistungsmodus ist so konzipiert, dass die Kosten für Workloads reduziert werden, bei denen eine etwas höhere Startlatenz akzeptabel ist. Serverlose Workloads, die den Standardleistungsmodus verwenden, beginnen in der Regel innerhalb von vier bis sechs Minuten nach dem Auslösen, abhängig von der Berechnungsverfügbarkeit und optimierter Planung.

Wenn die Leistungsoptimierung aktiviert ist, wird Ihre Pipeline für bessere Leistung optimiert, was zu einem schnelleren Start und einer schnelleren Ausführung von zeitkritischen Workloads führt.

Beide Modi verwenden dieselbe SKU, aber der Standardleistungsmodus verbraucht weniger DBUs, was eine geringere Rechennutzung widerspiegelt.

Von Bedeutung

Das Ändern des Leistungsmodus für geplante Aktualisierungen befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf diese Funktion über die Vorschauseite steuern, indem sie die Vorschau für den von Systemen verwalteten Einzelvorgang für materialisierte Ansichten & Streamingtabellen aktivieren. Siehe Verwalten von Azure Databricks-Vorschauen.

Standardmäßig verwenden Pipelines den leistungsoptimierten Modus, wenn sie interaktiv auf der Benutzeroberfläche ausgeführt werden, die Einstellung "Leistung optimiert " des Auftrags, wenn er mit einer SQL-Aufgabe geplant wird, und den Standardmodus, wenn er geplant wird. Um den Berechnungsmodus für Pipelines festzulegen, die durch eine SCHEDULE Klausel in der Definition geplant werden, bearbeiten Sie den Zeitplan im Katalog Explorer.

  1. Öffnen Sie das Dataset im Katalog-Explorer.
  2. Klicken Sie auf der Registerkarte " Übersicht " unter " Zeitplan aktualisieren" auf " Bleistift Um den Zeitplan zu bearbeiten, den Sie ändern möchten.
  3. Aktivieren Sie Leistungsoptimiert, damit der leistungsoptimierte Modus bei zukünftigen geplanten Aktualisierungen verwendet wird.