Créer et gérer des vues
Cette page montre comment créer des vues dans Unity Catalog. Voir Qu'est-ce qu'une vue ?.
Autorisations requises
Pour créer une vue :
- Vous devez disposer de l'autorisation
USE CATALOGsur le catalogue parent et des autorisationsUSE SCHEMAetCREATE TABLEsur le schéma parent. Un administrateur de métastore ou le propriétaire du catalogue peut vous accorder tous ces privilèges. Un propriétaire de schéma, ou un utilisateur disposant du privilègeMANAGE, peut vous accorder les privilègesUSE SCHEMAetCREATE TABLEsur le schéma. - Vous devez pouvoir lire les tables et les vues référencées dans la vue (
SELECTsur la table ou la vue, etUSE CATALOGsur le catalogue etUSE SCHEMAsur le schéma). - Si une vue référence des tables dans le Hive metastore local au Workspace, vous ne pouvez accéder à la vue que depuis le Workspace qui contient les tables locales au Workspace. Pour cette raison, Databricks recommande de créer des vues uniquement à partir de tables ou de vues qui se trouvent dans le metastore Unity Catalog.
Pour lire une vue, les autorisations requises dépendent du type de compute, de la version de Databricks Runtime et du mode d’accès. Consultez Exigences pour l'interrogation des vues.
Pour mettre à jour une définition ou une description de vue, vous devez être le propriétaire de la vue. Avoir le privilège MANAGE est insuffisant. Pour plus de détails, consultez les pages de référence ALTER VIEW et COMMENT ON.
Créez une vue
Pour créer une vue, exécutez la commande SQL suivante dans l'éditeur SQL ou dans un notebook attaché au compute. Les éléments entre parenthèses sont facultatifs. Remplacez les valeurs des espaces réservés :
<catalog-name>: Le nom du catalogue.<schema-name>: Le nom du schéma.<view-name>: Un nom pour la vue.<query>: La query, les colonnes, et les tables et 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 de 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 en utilisant le fournisseur Databricks Terraform et databricks_table. Vous pouvez récupérer une liste de noms complets de vues en utilisant 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;