Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktigt!
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
Lägger till en uppdateringsprincip i den materialiserade vyn och styr när uppdateringen ska inkrementelliseras. Gäller för -instruktionen CREATE MATERIALIZED VIEW (pipelines).
Mer information om inkrementellisering finns i Inkrementell uppdatering för materialiserade vyer. Du kan kontrollera om en SQL-fråga är inkrementell med -instruktionen EXPLAIN CREATE MATERIALIZED VIEW i Databricks SQL. Se även EXPLAIN CREATE MATERIALIZED VIEW.
Syntax
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parameterar
refresh_policy
Definierar en uppdateringsprincip för den materialiserade vyn. Om utelämnas
REFRESH POLICYAUTOär standardprincipen.Uppdateringsprincipen definierar hur en uppdatering hanterar inkrementellisering av den materialiserade vyn.
AUTOSystemet väljer automatiskt inkrementell eller fullständig uppdatering baserat på kostnadsmodellen.
Stat/län Beteende Inkrementell är tillgängligt för uppdateringen. Använder kostnadsmodellen för att avgöra vilken som är billigare, inkrementell eller fullständig. Inkrementell är inte tillgängligt för uppdatering. Utför en fullständig uppdatering. Skapa eller återinitiering krävs (till exempel vid schemaändring) Utför en fullständig uppdatering. INCREMENTALSystemet använder inkrementella uppdateringar när det är möjligt. På
CREATEmisslyckas create-instruktionen om frågan inte kan inkrementelliseras.Stat/län Beteende Inkrementell är tillgängligt för uppdateringen. Utför en inkrementell uppdatering. Inkrementell är inte tillgängligt för uppdateringen. Utför en fullständig uppdatering. Skapa eller återinitiering krävs, men inkrementellisering är möjlig för frågan. Utför en fullständig uppdatering. Skapa eller återinitiering krävs och inkrementellisering är inte möjligt för frågan. Åtgärden misslyckas. INCREMENTAL STRICTSystemet använder inkrementella uppdateringar. På
CREATEmisslyckas create-instruktionen om frågan inte kan inkrementelliseras.Stat/län Beteende Inkrementell är tillgängligt för uppdateringen. Utför en inkrementell uppdatering. Inkrementell är inte tillgängligt för uppdateringen. Uppdateringen misslyckas. Skapa eller återinitiering krävs, men inkrementellisering är möjlig för frågan. Utför en fullständig uppdatering. Skapa eller återinitiering krävs och inkrementellisering är inte möjligt för frågan. Åtgärden misslyckas. FULLSystemet använder alltid en fullständig uppdatering.
Stat/län Beteende Inkrementell är tillgängligt för uppdateringen. Utför en fullständig uppdatering. Inkrementell är inte tillgängligt för uppdateringen. Utför en fullständig uppdatering. Skapa eller återinitiering krävs. Utför en fullständig uppdatering.
Beteende vid fel
När en uppdatering misslyckas eftersom den inte kan uppfylla uppdateringsprincipen (för REFRESH POLICY INCREMENTAL (STRICT)) returnerar systemet en felklass MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE med detaljerad information som beskriver orsaken till att den inte är inkrementell:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYmed komplexa uttryck ovan stöds det inte. -
EXPRESSION_NOT_DETERMINSTIC: En icke-deterministisk funktion, somRAND, används i frågan. -
INPUT_NOT_IN_DELTA: En eller flera källdatauppsättningar är inte Delta-tabeller. -
OPERATOR_NOT_INCREMENTALIZABLE: En operator, till exempel en komplex koppling, förhindrar inkrementellisering. -
ROW_TRACKING_NOT_ENABLED: Källtabeller som kräver radspårning har inte radspårning aktiverat. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: En eller flera underfrågor i frågan kan inte inkrementelliseras. -
UDF_NOT_DETERMINISTIC: En eller flera UDF:er som används i uttrycket markeras inte som deterministiska. -
WINDOW_WITHOUT_PARTITION_BY: Fönsterspecifikationer utanPARTITION_BYär inte inkrementella.
Information om vad som gör en fråga inkrementell kan göras finns i Inkrementell uppdatering för materialiserade vyer.
Om du vill kontrollera om en SQL-fråga är inkrementell kan du använda -instruktionen EXPLAIN CREATE MATERIALIZED VIEW i Databricks SQL. Se även 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;