Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Aktualisieren Sie die Daten für eine Streamingtabelle oder eine materialisierte Sicht. Die Daten werden standardmäßig synchron aktualisiert.
Sie können den Status der Aktualisierung nachverfolgen, indem Sie DESCRIBE EXTENDED ausführen.
Hinweis
Erstellen und Aktualisieren von Vorgängen für materialisierte Ansichten und Streamingtabellen werden von serverlosen Lakeflow-Pipelines unterstützt. Sie können mit dem Katalog-Explorer Details zu den unterstützenden Pipelines auf der Benutzeroberfläche anzeigen. Weitere Informationen finden Sie unter Was ist der Katalog-Explorer?.
Hinweis
REFRESH MATERIALIZED VIEW gilt auch für materialisierte Metrikansichten. Verwenden Sie sie, um die Materialisierungen, die eine Metrikansicht sichern, manuell zu aktualisieren. Siehe Materialisierung für Metrikansichten.
Syntax
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
Sie können eine beliebige Teilmenge von FULL, WHERE, und oder ASYNCSYNC in demselben Befehl angeben.
Parameter
-
Gibt die materialisierte Sicht oder Streamingtabelle an, die aktualisiert werden soll. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten. Wenn das Objekt nicht gefunden wird, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.
VOLL
Gibt an, ob eine vollständige Aktualisierung ausgeführt werden soll.
- Bei materialisierten Sichten verarbeitet eine vollständige Aktualisierung alle Daten, die in der Quelle verfügbar sind.
- Bei Streamingtabellen wird bei einer vollständigen Aktualisierung die Tabelle abgeschnitten, und alle in der Quelle verfügbaren Daten werden mit der neuesten Definition der Streamingtabelle verarbeitet.
Es wird nicht empfohlen, vollständige Aktualisierungen für Quellen aufzurufen, die den gesamten Verlauf der Daten nicht beibehalten oder kurze Aufbewahrungsfristen haben, z. B. Kafka, da die vollständige Aktualisierung die vorhandenen Daten abschneidet. Möglicherweise können Sie alte Daten nicht wiederherstellen, wenn die Daten in der Quelle nicht mehr verfügbar sind.
WHEREPrädikat
Gilt für:
, die mit einer FLOW REPLACE WHEREKlausel erstellt wurdeÜberschreibt das Prädikat des Flusses
REPLACE WHEREfür diese einzelne Aktualisierung. Die Aktualisierung löscht nur die Zeilen, die mit dem Ziel übereinstimmenpredicate, und kompensiert sie aus der Quelle. Das definierte Prädikat des Flusses ist unverändert und wird bei der nächsten Aktualisierung erneut angewendet, sodass eine Prädikatüberschreibung ein einmaliger Vorgang ist, der die Tabellendefinition nicht ändert. Verwenden Sie sie für einmalige Rückfüllungen oder Korrekturen. Siehe ERSETZEN-Flüsse WHERE für eigenständige Streamingtabellen.Die
WHEREKlausel wird nur für eine Streamingtabelle unterstützt, deren Fluss mitFLOW REPLACE WHERE. Wenn Sie eine andere Streamingtabelle oder eine materialisierte Ansicht angebenWHERE, wird ein Fehler zurückgegeben.SYNC
Gibt an, ob eine synchrone Aktualisierung ausgeführt werden soll. Der Befehl blockiert, bis die materialisierte Sicht oder die Streamingtabelle erstellt wurde und der anfängliche Datenladevorgang abgeschlossen ist.
Dies ist die Standardeinstellung.
ASYNCHRON
Gibt an, ob eine asynchrone Aktualisierung ausgeführt werden soll, die einen Hintergrundauftrag für Lakeflow-Pipelines startet. Der Befehl wird unmittelbar vor Abschluss der Datenladevorgang mit einer Verknüpfung zur Pipeline zurückgegeben, die die materialisierte Ansicht oder Streamingtabelle sichert. Sie können den Link besuchen, um den Status der Aktualisierung anzuzeigen.
Sie müssen
ASYNCangeben, wenn Sie asynchrone Aktualisierungen ausführen möchten. Der Vorgang wird synchron ausgeführt, wenn kein Schlüsselwort angegeben wird.
Beispiele
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH STREAMING TABLE cat.db.st_name FULL;
-- Overrides the REPLACE WHERE predicate for a single asynchronous refresh.
-- Only rows matching id = 3 are recomputed. The flow's static predicate is unchanged.
> REFRESH STREAMING TABLE rep_st WHERE id = 3 ASYNC;