Sdílet prostřednictvím


REFRESH Klauzule POLICY

Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime

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.

Další informace o přírůstkové aktualizaci najdete v tématu Přírůstková aktualizace materializovaných zobrazení. Pomocí příkazu 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 POLICY parametr vynechán, AUTO jedná se o výchozí zásadu.

    Zásady aktualizace definují, jak aktualizace zpracovává přírůstkovou inkrementizaci materializovaného zobrazení.

    • AUTO

      Systé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.
    • INCREMENTAL

      Pokud je to možné, systém používá přírůstkové aktualizace. Pokud CREATEdotaz není možné inkrementalizovat, vytvoření se nezdaří.

      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 STRICT

      Systém používá přírůstkové aktualizace. Pokud CREATEdotaz není možné inkrementalizovat, vytvoření se nezdaří.

      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.
    • FULL

      Systé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í třídu MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE chyb s podrobnými informacemi, které popisují důvod inkrementace. Například:

  • OPERATOR_NOT_SUPPORTED: Operátor, například komplexní spojení, zabraňuje inkrementalizaci.
  • EXPRESSION_NOT_DETERMINSTIC: V dotazu se používá ne deterministická funkce, například RAND.

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 příkaz EXPLAINCREATE MATERIALIZED VIEW . Viz 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;