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 peut vous octroyer les privilèges USE SCHEMA et CREATE TABLE 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 mode d’accès, du type de calcul, et de la version de Databricks Runtime :

  • Pour les ressources de calcul mono-utilisateur sur Databricks Runtime 15.4 et les versions ultérieures, les ressources de calcul partagées et les entrepôts SQL, vous avez besoin de SELECT sur la vue elle-même, USE CATALOG sur son catalogue parent et USE SCHEMA sur son schéma parent.

    Remarque

    Si vous utilisez une ressource de calcul mono-utilisateur sur Databricks Runtime 15.4 LTS et versions ultérieures, vous devez également vérifier que votre espace de travail est activé pour le calcul serverless, qui exécute la fonctionnalité de filtrage des données prenant en charge l’accès aux vues sans avoir à accéder aux tables et vues sous-jacentes de la vue. Vous pouvez donc être facturé pour les ressources de calcul serverless lorsque vous utilisez le calcul mono-utilisateur pour faire une requête de vues. Consulter Contrôle d’accès affiné sur le calcul mono-utilisateur. Le filtrage des données à l’aide de Databricks Runtime 15.4 et du calcul serverless est disponible en préversion publique.

  • Pour les ressources de calculs mono-utilisateurs sur Databricks Runtime 15.3 et les versions antérieures, vous devez également disposer de SELECT dans toutes les tables et vues référencées par la vue, en plus du USE CATALOG dans leurs catalogues parents et de USE SCHEMA dans leurs schémas parents.

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 pour supprimer une vue. Pour supprimer une vue, exécutez la commande SQL suivante :

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;