Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Podívejte se na Správa náhledů Azure Databricks.
Přidá do materializovaného zobrazení zásadu aktualizace, která řídí, kdy se má aktualizace inkrementovat. Platí pro CREATE MATERIALIZED VIEW příkaz (pipelines).
Další informace o přírůstkové aktualizaci najdete v tématu Přírůstková aktualizace materializovaných zobrazení. Pomocí příkazu v Databricks SQL SQL můžete zkontrolovat, jestli je dotaz SQL přírůstkový EXPLAIN CREATE MATERIALIZED VIEW . Viz EXPLAIN CREATE MATERIALIZED VIEW.
Syntaxe
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parametry
refresh_policy
Definuje zásadu aktualizace pro materializované zobrazení. Pokud je tento
REFRESH POLICYparametr vynechán,AUTOjedná se o výchozí zásadu.Zásady aktualizace definují, jak aktualizace zpracovává přírůstkovou inkrementizaci materializovaného zobrazení.
AUTOSystém na základě modelu nákladů automaticky vybere přírůstkovou nebo úplnou aktualizaci.
Stát Chování Přírůstkové aktualizace jsou k dispozici. Používá nákladový model k určení, která je levnější, přírůstková nebo úplná. Přírůstkové aktualizace nejsou k dispozici. Provede úplnou aktualizaci. Je vyžadováno vytvoření nebo opětovné inicializace (například při změně schématu). Provede úplnou aktualizaci. INCREMENTALPokud je to možné, systém používá přírůstkové aktualizace. Pokud
CREATEdotaz nelze inkrementalizovat, příkaz create selže.Stát Chování Přírůstkové aktualizace jsou k dispozici. Provede přírůstkovou aktualizaci. Přírůstková aktualizace není k dispozici. Provede úplnou aktualizaci. Vyžaduje se vytvoření nebo opětovné inicializace, ale pro dotaz je možné inicializaci přírůstkově. Provede úplnou aktualizaci. Je vyžadováno vytvoření nebo opětovné inicializace a pro dotaz není možné přírůstkovou inicializaci. Operace selže. INCREMENTAL STRICTSystém používá přírůstkové aktualizace. Pokud
CREATEdotaz nelze inkrementalizovat, příkaz create selže.Stát Chování Přírůstkové aktualizace jsou k dispozici. Provede přírůstkovou aktualizaci. Přírůstková aktualizace není k dispozici. Aktualizace se nezdaří. Vyžaduje se vytvoření nebo opětovné inicializace, ale pro dotaz je možné inicializaci přírůstkově. Provede úplnou aktualizaci. Je vyžadováno vytvoření nebo opětovné inicializace a pro dotaz není možné přírůstkovou inicializaci. Operace selže. FULLSystém vždy používá úplnou aktualizaci.
Stát Chování Přírůstkové aktualizace jsou k dispozici. Provede úplnou aktualizaci. Přírůstková aktualizace není k dispozici. Provede úplnou aktualizaci. Je vyžadováno vytvoření nebo opětovné inicializace. Provede úplnou aktualizaci.
Chování při selhání
Pokud aktualizace selže, protože nemůže splnit zásady aktualizace (pro REFRESH POLICY INCREMENTAL (STRICT)), systém vrátí chybovou třídu MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE s podrobnými informacemi, které popisují důvod, proč není přírůstkové:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYs výše uvedenými komplexními výrazy se nepodporuje. -
EXPRESSION_NOT_DETERMINSTIC: V dotazu se používá ne deterministická funkce, napříkladRAND. -
INPUT_NOT_IN_DELTA: Jedna nebo více zdrojových datových sad nejsou tabulky Delta. -
OPERATOR_NOT_INCREMENTALIZABLE: Operátor, například komplexní spojení, zabraňuje inkrementalizaci. -
ROW_TRACKING_NOT_ENABLED: Zdrojové tabulky, které vyžadují sledování řádků, nemají povolené sledování řádků. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Jeden nebo více poddotazů v dotazu není možné inkrementovat. -
UDF_NOT_DETERMINISTIC: Jeden nebo více UDF použitých ve výrazu není označeno jako deterministické. -
WINDOW_WITHOUT_PARTITION_BY: Specifikace oken bezPARTITION_BYinkrementovatelných.
Informace o tom, co dělá dotaz inkrementalizovatelný, najdete v tématu Přírůstková aktualizace materializovaných zobrazení.
Pokud chcete zkontrolovat, jestli je dotaz SQL přírůstkový, použijte EXPLAIN CREATE MATERIALIZED VIEW příkaz v Databricks SQL. Viz 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;