CREATE TEMPORARY VIEW (pipelines)
Utilisez l'instruction CREATE TEMPORARY VIEW pour créer des vues temporaires dans un pipeline.
Syntaxe
Voici la syntaxe pour déclarer des vues avec SQL :
CREATE TEMPORARY VIEW view_name
[(
[ col_name [ COMMENT col_comment ] [, ...] ]
[ column_constraint ] [, ...]
)]
[ COMMENT view_comment ]
[ TBLPROPERTIES ]
AS query
parameter
-
view_name
Le nom de la vue.
-
col_name
Optionnellement, vous pouvez spécifier des colonnes pour la vue résultante.
col_nameest un nom pour la colonne. -
col_comment
Lorsque vous spécifiez des colonnes, vous pouvez éventuellement spécifier une description pour la colonne.
-
contrainte_de_colonne
-
CONSTRAINT expectation_name EXPECT (expectation_expr) [ ON VIOLATION { FAIL UPDATE | DROP ROW } ]
Ajoute des attentes en matière de qualité des données à la vue. Ces attentes en matière de qualité des données peuvent être suivies au fil du temps et consultées via le log des événements du pipeline. Une attente
FAIL UPDATEprovoque l’échec du traitement lors de la création de la vue ainsi que lors de l’actualisation du pipeline. Une attenteDROP ROWentraîne la suppression de la ligne entière si l’attente n’est pas satisfaite. Voir Gérer la qualité des données avec les attentes de pipeline.expectation_exprpeut être composé de littéraux, d'identifiants de colonne au sein de la vue, et de fonctions ou opérateurs SQL intégrés et déterministes, à l'exception de :- Fonctions d’agrégation
- Fonctions de fenêtre analytiques
- Fonctions de fenêtre de classement
- Fonctions génératrices à valeur tabulaire
De plus,
exprne doit contenir aucune sous-requête. - Fonctions d’agrégation
-
-
view_comment
Description facultative pour la vue.
-
TBLPROPERTIES
Une liste facultative de propriétés de table pour la vue.
-
Saisir une requête
Cette clause alimente l’affichage à l’aide des données issues d’une query. Lorsque vous spécifiez une query et une liste de colonnes ensemble, la liste des colonnes doit contenir toutes les colonnes renvoyées par la query, sinon une erreur se produit. Toutes les colonnes spécifiées mais non renvoyées par
queryrenvoient des valeursnulllors de la query.
Limitations
- Les vues temporaires ne sont conservées que tout au long du cycle de vie du pipeline.
- Ils sont privés au pipeline de définition.
- Elles ne sont pas ajoutées au catalogue, et peuvent avoir le même nom qu'une vue dans le catalogue. Dans le pipeline, si une vue temporaire et une vue ou une table dans le catalogue ont le même nom, les références au nom sont résolues en vue temporaire.
Exemples
-- 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);