Megosztás:


REFRESH POLICY záradék

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Fontos

Ez a funkció bétaverzióban érhető el. A munkaterület rendszergazdái az Előnézetek lapon szabályozhatják a funkcióhoz való hozzáférést. Lásd: Az Azure Databricks előzetes verziójának kezelése.

Frissítési szabályzatot ad hozzá a materializált nézethez, amely meghatározza, hogy mikor kell növekményessé tenni a frissítést. Az utasításra CREATE MATERIALIZED VIEW vonatkozik.

A növekményesítésről további információt a materializált nézetek növekményes frissítése című témakörben talál. Ellenőrizheti, hogy egy SQL-lekérdezés növekményes-e az EXPLAIN CREATE MATERIALIZED VIEW utasítással. Lásd a(z) EXPLAIN CREATE MATERIALIZED VIEW.

Szemantika

REFRESH POLICY refresh_policy

refresh_policy:
  AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL

Paraméterek

  • refresh_policy

    A materializált nézet frissítési szabályzatát határozza meg. Ha nincs REFRESH POLICY megadva, AUTO az alapértelmezett szabályzat.

    A frissítési szabályzat meghatározza, hogy a frissítés hogyan kezeli a materializált nézet növekményesítését.

    • AUTO

      A rendszer automatikusan kiválasztja a növekményes vagy teljes frissítést a költségmodell alapján.

      Állam Magatartás
      A frissítéshez növekményes érték érhető el. A költségmodell használatával határozza meg, hogy melyik az olcsóbb, a növekményes vagy a teljes.
      A növekményes érték nem érhető el a frissítéshez. Teljes frissítést hajt végre.
      Létrehozásra vagy újra inicializálásra van szükség (például sémamódosításkor) Teljes frissítést hajt végre.
    • INCREMENTAL

      A rendszer lehetőség szerint növekményes frissítéseket használ. Ha CREATEa lekérdezést nem lehet növekményessé tenni, a létrehozás sikertelen lesz.

      Állam Magatartás
      A frissítéshez növekményes érték érhető el. Növekményes frissítést hajt végre.
      A növekményes érték nem érhető el a frissítéshez. Teljes frissítést hajt végre.
      Létrehozásra vagy újra inicializálásra van szükség, de a lekérdezéshez növekményesítés is lehetséges. Teljes frissítést hajt végre.
      Létre kell hozni vagy újra kell inicializálni a lekérdezést, és a növekményesítés nem lehetséges. A művelet meghiúsul.
    • INCREMENTAL STRICT

      A rendszer növekményes frissítéseket használ. Ha CREATEa lekérdezést nem lehet növekményessé tenni, a létrehozás sikertelen lesz.

      Állam Magatartás
      A frissítéshez növekményes érték érhető el. Növekményes frissítést hajt végre.
      A növekményes érték nem érhető el a frissítéshez. A frissítés sikertelen.
      Létrehozásra vagy újra inicializálásra van szükség, de a lekérdezéshez növekményesítés is lehetséges. Teljes frissítést hajt végre.
      Létre kell hozni vagy újra kell inicializálni a lekérdezést, és a növekményesítés nem lehetséges. A művelet meghiúsul.
    • FULL

      A rendszer mindig teljes frissítést használ.

      Állam Magatartás
      A frissítéshez növekményes érték érhető el. Teljes frissítést hajt végre.
      A növekményes érték nem érhető el a frissítéshez. Teljes frissítést hajt végre.
      Létrehozásra vagy újra inicializálásra van szükség. Teljes frissítést hajt végre.

Viselkedés hiba esetén

Ha egy frissítés meghiúsul, mert nem felel meg a frissítési szabályzatnak (a következőhöz): REFRESH POLICY INCREMENTAL (STRICT)a rendszer egy hibaosztályt MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE ad vissza részletes információval, amely leírja, hogy miért nem lehet növekményesen növelni. Például:

  • OPERATOR_NOT_SUPPORTED: Egy operátor, például egy összetett illesztés megakadályozza a növekményesítést.
  • EXPRESSION_NOT_DETERMINSTIC: A lekérdezés egy nem determinisztikus függvényt használ, például RAND.

A lekérdezések növekményessé tételének megértéséhez tekintse meg a materializált nézetek növekményes frissítését.

Annak ellenőrzéséhez, hogy egy SQL-lekérdezés növekményes-e, használja az utasítást EXPLAINCREATE MATERIALIZED VIEW . Lásd a(z) EXPLAIN CREATE MATERIALIZED VIEW.

Példák

-- 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;