Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks-previews beheren.
Hiermee voegt u een vernieuwingsbeleid toe aan de gerealiseerde weergave, waarmee u kunt bepalen wanneer u het vernieuwen incrementeel wilt maken. Is van toepassing op de CREATE MATERIALIZED VIEW instructie (pijplijnen ).
Zie Incrementeel vernieuwen voor gerealiseerde weergaven voor meer informatie over incrementele vernieuwing. U kunt controleren of een SQL-query incrementeel kan worden uitgevoerd met de EXPLAIN CREATE MATERIALIZED VIEW instructie in Databricks SQL. Zie EXPLAIN CREATE MATERIALIZED VIEW.
Syntaxis
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parameterwaarden
refresh_policy
Hiermee definieert u een vernieuwingsbeleid voor de gerealiseerde weergave. Als u de
REFRESH POLICYoptie weglaat,AUTOis dit het standaardbeleid.Het vernieuwingsbeleid definieert hoe een vernieuwing incrementele verwerking van de gerealiseerde weergave afhandelt.
AUTOHet systeem selecteert automatisch incrementeel of volledig vernieuwen, op basis van het kostenmodel.
Staat Gedrag Incrementeel is beschikbaar voor het vernieuwen. Maakt gebruik van het kostenmodel om te bepalen welke goedkoper, incrementeel of volledig is. Incrementeel is niet beschikbaar voor vernieuwen. Voert een volledige vernieuwing uit. Maken of opnieuw initialiseren is vereist (bijvoorbeeld bij schemawijziging) Voert een volledige vernieuwing uit. INCREMENTALHet systeem gebruikt indien mogelijk incrementele vernieuwingen. Als
CREATEde query niet kan worden incrementeel gemaakt, mislukt de instructie maken.Staat Gedrag Incrementeel is beschikbaar voor het vernieuwen. Voert een incrementele vernieuwing uit. Incrementeel is niet beschikbaar voor het vernieuwen. Voert een volledige vernieuwing uit. Het maken of opnieuw initialiseren is vereist, maar incrementeel maken is mogelijk voor de query. Voert een volledige vernieuwing uit. Het maken of opnieuw initialiseren is vereist en incrementeel maken is niet mogelijk voor de query. De bewerking mislukt. INCREMENTAL STRICTHet systeem maakt gebruik van incrementele vernieuwingen. Als
CREATEde query niet kan worden incrementeel gemaakt, mislukt de instructie maken.Staat Gedrag Incrementeel is beschikbaar voor het vernieuwen. Voert een incrementele vernieuwing uit. Incrementeel is niet beschikbaar voor het vernieuwen. De vernieuwing mislukt. Het maken of opnieuw initialiseren is vereist, maar incrementeel maken is mogelijk voor de query. Voert een volledige vernieuwing uit. Het maken of opnieuw initialiseren is vereist en incrementeel maken is niet mogelijk voor de query. De bewerking mislukt. FULLHet systeem gebruikt altijd een volledige vernieuwing.
Staat Gedrag Incrementeel is beschikbaar voor het vernieuwen. Voert een volledige vernieuwing uit. Incrementeel is niet beschikbaar voor het vernieuwen. Voert een volledige vernieuwing uit. Het maken of opnieuw initialiseren is vereist. Voert een volledige vernieuwing uit.
Gedrag bij fouten
Wanneer een vernieuwing mislukt omdat het niet kan voldoen aan het vernieuwingsbeleid (voor REFRESH POLICY INCREMENTAL (STRICT)), retourneert het systeem een foutklasse MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE met gedetailleerde informatie die de reden beschrijft waarom het niet incrementeel kan worden gemaakt:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYmet complexe expressies erboven wordt deze niet ondersteund. -
EXPRESSION_NOT_DETERMINSTIC: Een niet-deterministische functie, zoalsRAND, wordt gebruikt in de query. -
INPUT_NOT_IN_DELTA: Een of meer brongegevenssets zijn geen Delta-tabellen. -
OPERATOR_NOT_INCREMENTALIZABLE: Een operator, zoals een complexe join, voorkomt incrementeelisering. -
ROW_TRACKING_NOT_ENABLED: Voor brontabellen waarvoor het bijhouden van rijen is vereist, is het bijhouden van rijen niet ingeschakeld. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Een of meer subquery's in uw query kunnen niet incrementeel worden uitgevoerd. -
UDF_NOT_DETERMINISTIC: Een of meer UDF's die in de expressie worden gebruikt, worden niet gemarkeerd als deterministisch. -
WINDOW_WITHOUT_PARTITION_BY: Vensterspecificaties zonderPARTITION_BYzijn niet incrementeel te maken.
Zie Incrementeel vernieuwen voor gerealiseerde weergaven om te begrijpen wat een query incrementeel maakt.
Als u wilt controleren of een SQL-query incrementalizeerbaar is, gebruikt u de EXPLAIN CREATE MATERIALIZED VIEW instructie in Databricks SQL. Zie EXPLAIN CREATE MATERIALIZED VIEW.
Voorbeelden
-- 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;