IDEIGLENES NÉZET LÉTREHOZÁSA (pipelines)

CREATE TEMPORARY VIEW Az utasítással ideiglenes nézeteket hozhat létre egy folyamatban.

Szemantika

Az alábbiakban a nézetek SQL-sel való deklarálásának szintaxisát ismerteti:

CREATE TEMPORARY VIEW view_name
  [(
    [ col_name [ COMMENT col_comment ] [, ...] ]
    [ column_constraint ] [, ...]
  )]
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

Paraméterek

  • nézet_név

    A nézet neve.

  • col_name

    Igény szerint megadhatja az eredményül kapott nézet oszlopait. col_name az oszlop neve.

  • col_comment

    Oszlopok megadásakor opcionálisan megadhatja az oszlop leírását.

  • column_constraint

    • CONSTRAINT expectation_name EXPECT (expectation_expr) [ SÉRTÉS ESETÉN { HIBA UPDATE | SOR ELHAGYÁSA } ]

      Adatminőségi elvárásokat ad a nézethez. Ezek az adatminőségi elvárások idővel nyomon követhetők, és a pipeline eseménynaplóján keresztül elérhetők. Egy FAIL UPDATE elvárás miatt a feldolgozás meghibásodik, amikor egyszerre létrehozzák a nézetet, mind a pipeline frissítését. Ha DROP ROW a várakozás nem teljesül, az egész sor elvetésre kerül. Lásd Az adatminőség kezelése folyamatelvárásokkal.

      expectation_expr lehetnek literálisokból, oszlopazonosítókból a nézetben, valamint determinisztikus, beépített SQL függvényekből vagy operátorokból, kivéve:

      Emellett expr nem tartalmazhat lekérdezést.

  • view_comment

    A nézet opcionális leírása.

  • TBLPROPERTIES

    Egy opcionális lista a táblajellemzőkről a nézethez.

  • query

    Ez a záradék a lekérdezés adataival tölti fel a nézetet. Ha egy lekérdezést és egy oszloplistát együtt ad meg, az oszloplistának tartalmaznia kell a lekérdezés által visszaadott összes oszlopot, vagy hiba történik. A lekérdezés során megadott, de a visszaadott query értékek által null nem visszaadott oszlopok.

Korlátozások

  • Az ideiglenes nézetek csak a folyamat teljes élettartama alatt maradnak meg.
  • Ezek privátak a definiáló folyamat számára.
  • Ezek nem lettek hozzáadva a katalógushoz, és ugyanazzal a névvel rendelkezhetnek, mint egy nézet a katalógusban. A folyamaton belül, ha egy ideiglenes nézet és egy nézet vagy tábla a katalógusban ugyanazzal a névvel rendelkezik, a névre mutató hivatkozás az ideiglenes nézetre lesz feloldva.

Példák

-- Create a temporary view, and use it
CREATE TEMPORARY VIEW my_view (sales_day, total_sales, sales_rep)
  AS SELECT date(sales_date) AS sale_day, SUM(sales) AS total_sales, FIRST(sales_rep) FROM sales GROUP BY date(sales_date), sales_rep;

CREATE OR REFRESH MATERIALIZED VIEW sales_by_date
  AS SELECT * FROM my_view;

-- Create a temporary view with a data quality expectation
CREATE TEMPORARY VIEW valid_sales (
  CONSTRAINT valid_total_sales EXPECT (total_sales > 0) ON VIOLATION DROP ROW
)
  AS SELECT date(sales_date) AS sales_day, SUM(sales) AS total_sales FROM sales GROUP BY date(sales_date);