SKAPA TILLFÄLLIG VY (pipelines)

Använd -instruktionen CREATE TEMPORARY VIEW för att skapa tillfälliga vyer i en pipeline.

Syntax

Följande beskriver syntaxen för att deklarera vyer med SQL:

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

Parameterar

  • view_name

    Namnet på vyn.

  • col_name

    Du kan också ange kolumner för den resulterande vyn. col_name är ett namn på kolumnen.

  • kol_kommentar

    När du anger kolumner kan du ange en beskrivning för kolumnen.

  • column_constraint

    • CONSTRAINT expectation_name EXPECT (expectation_expr) [ ON VIOLATION { FAIL UPDATE | TA BORT RAD } ]

      Lägger till förväntningar på datakvalitet i vyn. Dessa datakvalitetsförväntningar kan spåras över tid och nås via pipelinens händelselogg. En FAIL UPDATE förväntan gör att bearbetningen misslyckas både vid skapande av vyn och vid uppdatering av pipelinen. En DROP ROW förväntan gör att hela raden tas bort om förväntningarna inte uppfylls. Se avsnittet Hantera datakvalitet med pipeline-förväntningar.

      expectation_expr kan bestå av literaler, kolumnidentifierare inom vyn och deterministiska, inbyggda SQL-funktioner eller operatorer förutom:

      Får inte heller expr innehålla någon underfråga.

  • view_comment

    En valfri beskrivning för vyn.

  • TBLPROPERTIES

    En valfri lista över tabellegenskaper för vyn.

  • fråga

    Denna klausul fyller vyn med data från en fråga. När du anger en fråga och en lista med kolumner tillsammans måste kolumnlistan innehålla alla kolumner som returneras av frågan, annars uppstår ett fel. Alla kolumner som anges men inte returneras av query returvärden null när du frågar.

Begränsningar

  • Tillfälliga vyer bevaras endast under pipelinens livslängd.
  • De är privata för den definierande pipelinen.
  • De läggs inte till i katalogen och kan ha samma namn som en vy i katalogen. Om en temporär vy och en vy eller tabell i katalogen har samma namn i pipelinen matchas referenser till namnet till den tillfälliga vyn.

Examples

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