Créer une vueCreate View

CREATE [OR REPLACE] [[GLOBAL] TEMPORARY] VIEW [db_name.]view_name
  [(col_name1 [COMMENT col_comment1], ...)]
  [COMMENT table_comment]
  [TBLPROPERTIES (key1=val1, key2=val2, ...)]
    AS select_statement

Définissez une vue logique sur une ou plusieurs tables ou vues.Define a logical view on one or more tables or views.

OR REPLACE

Si la vue n’existe pas, CREATE OR REPLACE VIEW équivaut à CREATE VIEW .If the view does not exist, CREATE OR REPLACE VIEW is equivalent to CREATE VIEW. Si la vue existe, CREATE OR REPLACE VIEW équivaut à ALTER VIEW .If the view does exist, CREATE OR REPLACE VIEW is equivalent to ALTER VIEW.

[GLOBAL] TEMPORARY

TEMPORARY ignore la conservation de la définition de la vue dans le magasin sous-jacent, le cas échéant.TEMPORARY skips persisting the view definition in the underlying metastore, if any. Si GLOBAL est spécifié, la vue est accessible par différentes sessions et reste active jusqu’à ce que votre application se termine ; dans le cas contraire, les vues temporaires sont étendues à la session et sont automatiquement supprimées si la session se termine.If GLOBAL is specified, the view can be accessed by different sessions and kept alive until your application ends; otherwise, the temporary views are session-scoped and will be automatically dropped if the session terminates. Toutes les vues temporaires globales sont liées à une base de données temporaire conservée par le système global_temp .All the global temporary views are tied to a system preserved temporary database global_temp. Le nom de la base de données est préservé et, par conséquent, les utilisateurs ne sont pas autorisés à créer/utiliser/supprimer cette base de données.The database name is preserved, and thus, users are not allowed to create/use/drop this database. Vous devez utiliser le nom qualifié pour accéder à la vue temporaire globale.You must use the qualified name to access the global temporary view.

Notes

Un affichage temporaire défini dans un Notebook n’est pas visible dans les autres blocs-notes.A temporary view defined in a notebook is not visible in other notebooks. Consultez isolation des Notebooks.See Notebook isolation.

(col_name1 [COMMENT col_comment1], ...)

Liste de colonnes qui définit le schéma de la vue.A column list that defines the view schema. Les noms de colonnes doivent être uniques avec le même nombre de colonnes récupérées par select_statement .The column names must be unique with the same number of columns retrieved by select_statement. Lorsque la liste des colonnes n’est pas spécifiée, le schéma de la vue est le schéma de sortie de select_statement .When the column list is not given, the view schema is the output schema of select_statement.

TBLPROPERTIES

Paires clé-valeur de métadonnées.Metadata key-value pairs.

AS select_statement

SELECTInstruction qui définit la vue.A SELECT statement that defines the view. L’instruction peut sélectionner des tables de base ou les autres vues.The statement can select from base tables or the other views.

Important

Vous ne pouvez pas spécifier les options DataSource, partition ou clustering, car une vue n’est pas matérialisée comme une table.You cannot specify datasource, partition, or clustering options since a view is not materialized like a table.

ExemplesExamples

-- Create a persistent view view_deptDetails in database1. The view definition is recorded in the underlying metastore
CREATE VIEW database1.view_deptDetails
  AS SELECT * FROM company JOIN dept ON company.dept_id = dept.id;

-- Create or replace a local temporary view from a persistent view with an extra filter
CREATE OR REPLACE TEMPORARY VIEW temp_DeptSFO
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SFO';

-- Access the base tables through the temporary view
SELECT * FROM temp_DeptSFO;

-- Create a global temp view to share the data through different sessions
CREATE GLOBAL TEMP VIEW global_DeptSJC
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SJC';

-- Access the global temp views
SELECT * FROM global_temp.global_DeptSJC;

-- Drop the global temp view, temp view, and persistent view.
DROP VIEW global_temp.global_DeptSJC;
DROP VIEW temp_DeptSFO;
DROP VIEW database1.view_deptDetails;