REFRESH (MATERIALIZED VIEW oder STREAMING TABLE)
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
Erstellungs- und Aktualisierungsvorgänge für materialisierte Sichten und Streamingtabellen werden von einer serverlosen Delta Live Tables-Pipeline 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?.
Syntax
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]
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.
FULL
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 nicht den gesamten Datenverlauf beibehalten oder kurze Aufbewahrungszeiträume aufweisen (z. B. Kafka), da durch eine vollständige Aktualisierung die vorhandenen Daten abgeschnitten werden. Möglicherweise können Sie alte Daten nicht wiederherstellen, wenn die Daten in der Quelle nicht mehr verfügbar sind.
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 Delta Live Tables startet. Der Befehl wird unmittelbar vor Abschluss des Datenladevorgangs mit einer Verknüpfung zur Delta Live Tables-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
ASYNC
angeben, 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 TABLE cat.db.st_name FULL;