Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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 (Pipelines).
Weitere Informationen zur Inkrementierung finden Sie unter Inkrementelle Aktualisierung für materialisierte Ansichten. Mit der EXPLAIN CREATE MATERIALIZED VIEW Anweisung in Databricks SQL 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 Create-Anweisung 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 Create-Anweisung 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 nicht erfüllen kann (für REFRESH POLICY INCREMENTAL (STRICT)), gibt das System eine Fehlerklasse MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE mit detaillierten Informationen zurück, die den Grund für die Inkrementierung nicht inkrementell beschreiben:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYMit komplexen Ausdrücken darüber wird es nicht unterstützt. -
EXPRESSION_NOT_DETERMINSTIC: Eine nicht deterministische Funktion, zRAND. B. , wird in der Abfrage verwendet. -
INPUT_NOT_IN_DELTA: Mindestens ein Quelldatensatz sind keine Delta-Tabellen. -
OPERATOR_NOT_INCREMENTALIZABLE: Ein Operator, z. B. eine komplexe Verknüpfung, verhindert die Inkrementierung. -
ROW_TRACKING_NOT_ENABLED: Quelltabellen, für die zeilennachverfolgung erforderlich ist, sind nicht für die Zeilennachverfolgung aktiviert. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Mindestens eine Unterabfrage in Ihrer Abfrage kann nicht inkrementell werden. -
UDF_NOT_DETERMINISTIC: Mindestens eine udFs, die im Ausdruck verwendet werden, sind nicht als deterministisch gekennzeichnet. -
WINDOW_WITHOUT_PARTITION_BY: Fensterspezifikationen ohnePARTITION_BYinkrementelle Größe sind nicht inkrementell.
Informationen dazu, was eine Abfrage inkrementell machen kann, finden Sie unter "Inkrementelle Aktualisierung für materialisierte Ansichten".
Verwenden Sie die EXPLAIN CREATE MATERIALIZED VIEW Anweisung in Databricks SQL, 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 OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;