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
Databricks Runtime
Von Bedeutung
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.
Fügt der materialisierten Ansicht eine Aktualisierungsrichtlinie hinzu, die steuert, wann die Aktualisierung inkrementellisiert werden soll. Gilt für die CREATE MATERIALIZED VIEW Anweisung.
Weitere Informationen zur Inkrementierung finden Sie unter Inkrementelle Aktualisierung für materialisierte Ansichten. Mit der EXPLAIN CREATE MATERIALIZED VIEW Anweisung können Sie überprüfen, ob eine SQL-Abfrage inkrementell ist. Siehe EXPLAIN CREATE MATERIALIZED VIEW.
Syntax
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Die Parameter
refresh_policy
Definiert eine Aktualisierungsrichtlinie für die materialisierte Ansicht. Wenn dies
REFRESH POLICYnicht angegeben wird,AUTOist die Standardrichtlinie.Die Aktualisierungsrichtlinie definiert, wie eine Aktualisierung die Inkrementierung der materialisierten Ansicht behandelt.
AUTODas System wählt automatisch eine inkrementelle oder vollständige Aktualisierung basierend auf dem Kostenmodell aus.
Staat Verhalten Inkrementell ist für die Aktualisierung verfügbar. Verwendet das Kostenmodell, um zu bestimmen, welches billiger, inkrementell oder vollständig ist. Inkrementell ist für die Aktualisierung nicht verfügbar. Führt eine vollständige Aktualisierung aus. Erstellen oder Erneute Initialisieren ist erforderlich (z. B. bei Schemaänderung) Führt eine vollständige Aktualisierung aus. INCREMENTALDas System verwendet nach Möglichkeit inkrementelle Aktualisierungen. Wenn
CREATEdie Abfrage nicht inkrementellisiert werden kann, schlägt die Erstellung fehl.Staat Verhalten Inkrementell ist für die Aktualisierung verfügbar. Führt eine inkrementelle Aktualisierung aus. Inkrementell ist für die Aktualisierung nicht verfügbar. Führt eine vollständige Aktualisierung aus. Die Erstellung oder Erneute Initialisierung ist erforderlich, die inkrementelle Inkrementierung ist jedoch für die Abfrage möglich. Führt eine vollständige Aktualisierung aus. Die Erstellung oder Erneute Initialisierung ist erforderlich, und die Inkrementierung ist für die Abfrage nicht möglich. Der Vorgang schlägt fehl. INCREMENTAL STRICTDas System verwendet inkrementelle Aktualisierungen. Wenn
CREATEdie Abfrage nicht inkrementellisiert werden kann, schlägt die Erstellung fehl.Staat Verhalten Inkrementell ist für die Aktualisierung verfügbar. Führt eine inkrementelle Aktualisierung aus. Inkrementell ist für die Aktualisierung nicht verfügbar. Bei der Aktualisierung tritt ein Fehler auf. Die Erstellung oder Erneute Initialisierung ist erforderlich, die inkrementelle Inkrementierung ist jedoch für die Abfrage möglich. Führt eine vollständige Aktualisierung aus. Die Erstellung oder Erneute Initialisierung ist erforderlich, und die Inkrementierung ist für die Abfrage nicht möglich. Der Vorgang schlägt fehl. FULLDas System verwendet immer eine vollständige Aktualisierung.
Staat Verhalten Inkrementell ist für die Aktualisierung verfügbar. Führt eine vollständige Aktualisierung aus. Inkrementell ist für die Aktualisierung nicht verfügbar. Führt eine vollständige Aktualisierung aus. Die Erstellung oder Erneute Initialisierung ist erforderlich. Führt eine vollständige Aktualisierung aus.
Verhalten bei Fehlern
Wenn eine Aktualisierung fehlschlägt, da sie die Aktualisierungsrichtlinie (für REFRESH POLICY INCREMENTAL (STRICT)) nicht erfüllen kann, gibt das System eine Fehlerklasse MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE mit detaillierten Informationen zurück, die den Grund für die Inkrementierung nicht beschreiben. Beispiel:
-
OPERATOR_NOT_SUPPORTED: Ein Operator, z. B. eine komplexe Verknüpfung, verhindert die Inkrementierung. -
EXPRESSION_NOT_DETERMINSTIC: Eine nicht deterministische Funktion, zRAND. B. , wird in der Abfrage verwendet.
Informationen dazu, was eine Abfrage inkrementell machen kann, finden Sie unter "Inkrementelle Aktualisierung für materialisierte Ansichten".
Verwenden Sie die EXPLAINCREATE MATERIALIZED VIEW Anweisung, um zu überprüfen, ob eine SQL-Abfrage inkrementell ist. Siehe EXPLAIN CREATE MATERIALIZED VIEW.
Examples
-- Create a materialized view with an incremental policy
CREATE MATERIALIZED VIEW IF NOT EXISTS my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;