Partager via


CREATE VIEW (canaux)

Construit une table virtuelle sans données physiques en fonction du jeu de résultats d’une requête SQL dans un pipeline.

Syntaxe

Le code suivant décrit la syntaxe permettant de déclarer des vues avec SQL :

CREATE VIEW view_name
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

Paramètres

  • view_name

    Nom de la vue. Le nom doit être unique dans le catalogue et le schéma ciblés par le pipeline.

  • view_comment

    Description facultative de la vue.

  • TBLPROPERTIES

    Liste facultative des propriétés de table disponibles pour la table.

  • query

    Requête qui construit l’affichage à partir de tables de base ou d’autres affichages.

Autorisations requises

L’utilisateur d'exécution du pipeline doit disposer des autorisations suivantes pour pouvoir créer une vue :

  • SELECT privilèges sur les tables de base référencées par la vue.
  • Le privilège USE CATALOG sur le catalogue parent et le privilège USE SCHEMA sur le schéma parent.
  • CREATE TABLE privilège sur le schéma de la vue.

Pour qu’un utilisateur puisse mettre à jour la vue dans le pipeline, il doit disposer des autorisations suivantes :

  • Le privilège USE CATALOG sur le catalogue parent et le privilège USE SCHEMA sur le schéma parent.
  • Autorisation MANAGE pour l’affichage.
  • SELECT privilèges sur les tables de base référencées par la vue.

Pour qu’un utilisateur puisse interroger la vue obtenue, il doit disposer des autorisations suivantes :

  • Le privilège USE CATALOG sur le catalogue parent et le privilège USE SCHEMA sur le schéma parent.
  • SELECT privilège sur la vue.

Limites

  • CREATE VIEW est disponible uniquement dans les pipelines qui prennent en charge le mode de publication par défaut. Les pipelines qui utilisent le schéma LIVE (hérité) ne sont pas pris en charge. Pour plus d’informations, consultez le schéma LIVE (hérité) .
  • Le pipeline doit être un pipeline de catalogue Unity.
  • Les attentes, sous forme de clauses CONSTRAINT, ne sont pas prises en charge.
  • Les vues ne peuvent pas avoir de requêtes de diffusion en continu ou être utilisées comme source de diffusion en continu.

Examples

-- Create a view from an external data source
CREATE VIEW taxi_raw AS SELECT *
  FROM read_files("/databricks-datasets/nyctaxi/sample/json/");

-- Use a view to create a filtered view:
CREATE VIEW taxi_silver AS SELECT *
  FROM taxi_raw
  WHERE distance > 0.0;