Partager via


Créer et gérer des vues

Cet article explique comment créer des vues dans Unity Catalog. Qu’est-ce qu’une vue ?

Autorisations requises

Pour créer une vue :

  • Vous devez disposer de l’autorisation USE CATALOG sur le catalogue parent et des autorisations USE SCHEMA et CREATE TABLE sur le schéma parent. Un administrateur de metastore ou le propriétaire du catalogue peut vous octroyer tous ces privilèges. Un propriétaire de schéma ou un utilisateur disposant du privilège MANAGE peut vous accorder USE SCHEMA et CREATE TABLE privilèges sur le schéma.
  • Vous devez pouvoir lire les tables et les vues référencées dans la vue (SELECT sur la table ou la vue, ainsi que USE CATALOG sur le catalogue et USE SCHEMA sur le schéma).
  • Si une vue fait référence à des tables du metastore Hive local à l’espace de travail, la vue est uniquement accessible à partir de l’espace de travail qui contient les tables locales à l’espace de travail. Par conséquent, Databricks recommande de ne créer des vues qu’à partir de tables ou de vues qui se trouvent dans le metastore Unity Catalog.
  • Vous ne pouvez pas créer une vue faisant référence à une vue qui a été partagée avec vous à l'aide du partage Delta. Consultez Qu’est-ce que le Delta Sharing ?.

Pour lire une vue, les autorisations requises dépendent du type de calcul, de la version de Databricks Runtime et du mode d’accès. Consultez Conditions requises pour interroger des vues.

Créer une vue

Pour créer une vue, exécutez la commande SQL suivante. Les éléments entre chevrons sont optionnels. Remplacez les valeurs d’espace réservé :

  • <catalog-name>: Nom du catalogue.
  • <schema-name> : nom du schéma.
  • <view-name> : Nom de la vue.
  • <query> : La requête, les colonnes, les tables et les vues utilisées pour composer la vue.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Par exemple, pour créer une vue nommée sales_redacted à partir des colonnes de la table sales_raw :

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

Vous pouvez également créer une vue avec le fournisseur Databricks Terraform et databricks_table. Vous pouvez récupérer une liste de noms complets de vue avec databricks_views.

Supprimer une vue

Vous devez être le propriétaire de la vue ou disposer du privilège MANAGE sur la vue pour supprimer une vue. Pour supprimer une vue, exécutez la commande SQL suivante :

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;