Configurer et gérer Unity Catalog

Cet article explique comment configurer et utiliser Unity Catalog pour gérer les données dans votre espace de travail Azure Databricks. Il est destiné principalement aux administrateurs de l’espace de travail qui utilisent Unity Catalog pour la première fois.

À la fin de cet article, vous aurez :

  • Un espace de travail activé pour Unity Catalog.
  • Savoir qui a accès à Unity Catalog.
  • Les utilisateurs disposant de l’autorisation d’accéder aux objets et de créer des objets dans Unity Catalog.

Vous pouvez également consulter d’autres articles d’introduction :

Remarque

Si vous souhaitez mettre à niveau un espace de travail non-Unity Catalog existant vers Unity Catalog, il peut être souhaitable d’utiliser UCX, un projet Databricks Labs qui fournit un ensemble de workflows et d’utilitaires pour mettre à niveau des identités, des autorisations et des tables vers Unity Catalog. Consultez Utiliser les utilitaires UCX pour mettre à niveau votre espace de travail vers Unity Catalog.

Vue d’ensemble de l’activation d’Unity Catalog

Pour utiliser Unity Catalog, vos espaces de travail Azure Databricks doivent être activés pour Unity Catalog, ce qui signifie que les espaces de travail sont attachés à un metastore Unity Catalog, le conteneur de niveau supérieur pour les métadonnées d’Unity Catalog.

La façon dont les administrateurs configurent Unity Catalog dépend de l’activation automatique de l’espace de travail pour Unity Catalog ou de l’activation manuelle.

Activation automatique d’Unity Catalog

Databricks a commencé à activer automatiquement de nouveaux espaces de travail pour Unity Catalog le 9 novembre 2023, avec une procédure de déploiement progressive entre les comptes. Les espaces de travail activés ont automatiquement les propriétés suivantes :

  • Metastore d’Unity Catalog provisionné automatiquement (sauf si un metastore Unity Catalog existait déjà pour la région de l’espace de travail).

  • Privilèges par défaut pour les administrateurs de l’espace de travail, tels que la possibilité de créer un catalogue ou une connexion aux bases de données externe.

  • Aucun administrateur de metastore (sauf si un metastore Unity Catalog existant a été utilisé et qu’un administrateur de metastore a déjà été affecté).

  • Aucun stockage au niveau du metastore pour les tables et les volumes managés (sauf si un metastore Unity Catalog existant avec stockage au niveau du metastore a été utilisé).

  • Un catalogue de l’espace de travail, qui, lors de l’approvisionnement initial, est nommé après votre espace de travail.

    Tous les utilisateurs de votre espace de travail peuvent créer des ressources dans le schéma default dans ce catalogue. Par défaut, ce catalogue est limité à votre espace de travail, ce qui signifie qu’il est accessible uniquement via votre espace de travail. Le provisionnement automatique du catalogue d’espace de travail au moment de la création de l’espace de travail est déployé progressivement sur les comptes.

Ces configurations par défaut fonctionnent bien pour la plupart des espaces de travail, mais elles peuvent toutes être modifiées par un administrateur de l’espace de travail ou un administrateur de compte. Par exemple, un administrateur de compte peut affecter un administrateur de metastore et créer un stockage au niveau du metastore, et un administrateur de l’espace de travail peut modifier le nom et l’accès du catalogue de l’espace de travail.

Que se passe-t-il si mon espace de travail n’a pas été activé automatiquement pour Unity Catalog ?

Si votre espace de travail n’a pas été activé automatiquement pour Unity Catalog, un administrateur de compte ou un administrateur de metastore doit attacher manuellement l’espace de travail à un metastore Unity Catalog dans la même région. Si aucun metastore Unity Catalog n’existe dans la région, un administrateur de compte doit en créer un. Pour obtenir des instructions, consultez Créer un metastore Unity Catalog.

Comment savoir si mon espace de travail a été activé pour Unity Catalog ?

Pour vérifier si votre espace de travail est activé pour Unity Catalog, demandez à un administrateur d’espace de travail ou de compte Azure Databricks de le faire à votre place. Consultez également Étape 1 : Vérifier que votre espace de travail est activé pour Unity Catalog.

Comment savoir si mon espace de travail comprend un catalogue d’espace de travail ?

Certains nouveaux espaces de travail ont un catalogue d’espace de travail qui, au moment du provisionnement initial, porte le nom de votre espace de travail. Pour déterminer si votre espace de travail en a un, cliquez sur icône CatalogueCatalogue dans la barre latérale pour ouvrir l’Explorateur de catalogues, puis recherchez un catalogue qui utilise le nom de votre espace de travail en tant que nom de catalogue.

Remarque

Le catalogue d’espace de travail se présente comme n’importe quel autre catalogue dans Unity Catalog : un administrateur d’espace de travail peut changer son nom, sa propriété ou même le supprimer. Toutefois, immédiatement après la création de l’espace de travail, il porte le nom de cet espace de travail

Avant de commencer

Avant de commencer les tâches décrites dans cet article, vous devez vous familiariser avec les concepts de base d’Unity Catalog, notamment les metastores, les rôles d’administrateur et le stockage géré. Consultez Qu’est-ce que Unity Catalog ?.

Vous devez également vérifier que vous répondez aux exigences suivantes :

  • Un espace de travail Azure Databricks sur le plan Premium.

  • Les rôles et privilèges suivants, qui dépendent de l’état de votre espace de travail :

    • Administrateur d’espace de travail : Si votre espace de travail a été activé automatiquement pour Unity Catalog au moment de sa création, vous devez être administrateur d’espace de travail pour effectuer les tâches nécessaires.

    • Administrateur de compte : Si votre espace de travail n’est pas déjà activé pour Unity Catalog, un administrateur de compte doit attacher l’espace de travail au metastore.

      S’il n’existe aucun metastore Unity Catalog dans la même région que l’espace de travail, un administrateur de compte doit également créer le metastore Unity Catalog.

      Instructions pour déterminer si un metastore existe pour la région de votre espace de travail, ainsi que des instructions pour la création d’un metastore, consultez cet article.

    Consultez Privilèges d’administrateur dans Unity Catalog et Activation automatique d’Unity Catalog.

Étape 1 : Vérifier que votre espace de travail est activé pour Unity Catalog

Au cours de cette étape, vous devez déterminer si votre espace de travail est déjà activé pour Unity Catalog, où l’activation est définie par l’attachement d’un metastore Unity Catalog à l’espace de travail. Si votre espace de travail n’est pas activé pour Unity Catalog, vous devez activer manuellement votre espace de travail pour Unity Catalog. Consultez Étapes suivantes si votre espace de travail n’est pas activé pour Unity Catalog.

Pour en avoir la confirmation, effectuez l’une des opérations suivantes.

Utiliser la console de compte afin de confirmer l’activation pour Unity Catalog

  1. En tant qu’administrateur de compte Azure Databricks, connectez-vous à la console de compte.
  2. Cliquez sur Icône Espaces de travailEspaces de travail.
  3. Recherchez votre espace de travail, puis consultez la colonne Metastore. Si un nom de metastore est présent, cela signifie que votre espace de travail est attaché à un metastore Unity Catalog, et qu’il est donc activé pour Unity Catalog.

Exécuter une requête SQL afin de confirmer l’activation pour Unity Catalog

Exécutez la requête SQL suivante dans l’Éditeur de requête SQL ou dans un notebook attaché à un cluster qui utilise le mode d’accès partagé ou mono-utilisateur. Voir Modes d’accès aux fichiers. Aucun rôle d’administrateur n’est nécessaire.

SELECT CURRENT_METASTORE();

Si la requête retourne un ID de metastore semblable à l’ID ci-dessous, cela signifie que votre espace de travail est attaché à un metastore Unity Catalog, et qu’il est donc activé pour Unity Catalog.

Sortie de metastore actuelle

Étapes suivantes si votre espace de travail n’est pas activé pour Unity Catalog

Si votre espace de travail n’est pas activé pour Unity Catalog (attaché à un metastore), l’étape suivante varie selon qu’un metastore Unity Catalog est déjà défini ou non pour votre région d’espace de travail :

  • Si votre compte dispose déjà d’un metastore Unity Catalog défini pour la région de votre espace de travail, vous pouvez simplement attacher votre espace de travail au metastore existant. Accédez à Activer votre espace de travail pour Unity Catalog.
  • S’il n’existe aucun metastore Unity Catalog défini pour la région de votre espace de travail, vous devez créer un metastore, puis attacher l’espace de travail. Accédez à Créer un metastore Unity Catalog.

Une fois votre espace de travail activé pour Unity Catalog, passez à l’étape suivante.

Étape 2 : Ajouter des utilisateurs et attribuer le rôle d’administrateur de l’espace de travail

L’utilisateur qui crée l’espace de travail est automatiquement ajouté en tant qu’utilisateur de l’espace de travail avec le rôle d’administrateur de l’espace de travail (c’est-à-dire un utilisateur dans le groupe local de l’espace de travail admins ). En tant qu’administrateur de l’espace de travail, vous pouvez ajouter et inviter des utilisateurs à l’espace de travail, affecter le rôle d’administrateur de l’espace de travail à d’autres utilisateurs et créer des principaux de service et des groupes.

Les administrateurs de compte ont également la possibilité d’ajouter des utilisateurs, des principaux de service et des groupes à votre espace de travail. Ils peuvent accorder les rôles d’administrateur de compte et d’administrateur de metastore.

Pour plus d'informations, consultez la page Gérer les utilisateurs.

Il peut s’avérer pratique de gérer l’accès utilisateur à Azure Databricks en configurant l’approvisionnement à partir de Microsoft Entra ID (anciennement Azure Active Directory). Pour obtenir des instructions complètes, consultez Synchroniser les utilisateurs et les groupes à partir de Microsoft Entra ID.

Étape 3 : Créer des clusters ou des entrepôts SQL que les utilisateurs peuvent utiliser pour exécuter des requêtes et créer des objets

Pour exécuter des charges de travail Unity Catalog, les ressources de calcul doivent respecter certaines exigences de sécurité. Les ressources de calcul non conformes ne peuvent pas accéder aux données ou à d’autres objets Unity Catalog. Les entrepôts SQL sont toujours conformes aux exigences Unity Catalog, mais certains modes d’accès au cluster ne le sont pas. Voir Modes d’accès aux fichiers.

En tant qu’administrateur de l’espace de travail, vous pouvez choisir de restreindre la création de calcul aux administrateurs ou de permettre aux utilisateurs de créer leurs propres entrepôts et clusters SQL. Vous pouvez également créer des stratégies de cluster qui permettent aux utilisateurs de créer leurs propres clusters à l’aide des spécifications conformes à Unity Catalog que vous appliquez. Consultez Autorisations de calcul et Créer et gérer des stratégies de calcul.

Étape 4 : Accorder des privilèges aux utilisateurs

Pour créer des objets et y accéder dans les catalogues et schémas Unity Catalog, un utilisateur doit avoir l’autorisation de le faire. Cette section décrit les privilèges Utilisateur et Administrateur octroyés par défaut sur certains espaces de travail ainsi que la façon d’octroyer des privilèges supplémentaires.

Privilèges Utilisateur par défaut

Certains espaces de travail disposent de privilèges utilisateur (non-administrateur) par défaut au lancement :

  • Si votre espace de travail a été lancé avec un catalogue d’espace de travail provisionné automatiquement, tous les utilisateurs de l’espace de travail peuvent créer des objets dans le schéma default du catalogue d’espace de travail.

    Pour déterminer si votre espace de travail dispose d’un catalogue d’espace de travail, consultez Comment savoir si mon espace de travail comprend un catalogue d’espace de travail ?.

  • Si votre espace de travail a été activé manuellement pour Unity Catalog, il dispose d’un catalogue main provisionné automatiquement.

    Les utilisateurs de l’espace de travail disposent du privilège USE CATALOG sur le catalogue main, ce qui n’autorise pas la création ou la sélection d’objets dans le catalogue. Toutefois, il s’agit d’un prérequis pour l’utilisation d’objets dans le catalogue. L’utilisateur qui a créé le metastore est propriétaire du catalogue main par défaut, et peut à la fois transférer la propriété et octroyer l’accès à d’autres utilisateurs.

    Si vous ajoutez du stockage au metastore après la création du metastore, aucun catalogue main n’est provisionné.

Pour les autres espaces de travail, aucun catalogue n’est créé par défaut, et aucun privilège Utilisateur non-administrateur n’est activé par défaut. Un administrateur d’espace de travail doit créer le premier catalogue, et octroyer aux utilisateurs l’accès à celui-ci ainsi qu’à ses objets. Passez à l’Étape 5 : Créer des catalogues et des schémas avant d’effectuer les étapes de cette section.

Privilèges Administrateur par défaut

Certains espaces de travail disposent de privilèges Administrateur d’espace de travail par défaut au lancement :

  • Si votre espace de travail a été activé automatiquement pour Unity Catalog :
    • Les administrateurs de l’espace de travail peuvent créer des catalogues et des objets dans de nouveaux catalogues et leur accorder l’accès.
    • Il n’existe aucun administrateur de metastore par défaut.
    • Les administrateurs d’espace de travail sont propriétaires du catalogue d’espace de travail (le cas échéant), et peuvent octroyer l’accès à ce catalogue ainsi qu’à ses objets.
  • Si votre espace de travail a été activé manuellement pour Unity Catalog :
    • Les administrateurs d’espace de travail ne disposent pas de privilèges Unity Catalog spéciaux par défaut.
    • L’existence d’administrateurs de metastore est obligatoire. Ceux-ci peuvent créer n’importe quel objet Unity Catalog, et s’approprier n’importe quel objet Unity Catalog.

Pour obtenir la liste des privilèges d’objet supplémentaires accordés aux administrateurs de l’espace de travail dans les espaces de travail Unity Catalog activés automatiquement, consultez Privilèges d’administrateur de l’espace de travail lorsque les espaces de travail sont activés pour Unity Catalog automatiquement.

Octroyer des privilèges

Pour permettre l’accès aux objets autres que ceux listés dans les sections précédentes, un utilisateur disposant de privilèges doit octroyer cet accès.

Par exemple, pour accorder à un groupe la possibilité de créer de nouveaux schémas dans my-catalog, le propriétaire du catalogue peut exécuter ce qui suit dans l’éditeur SQL ou un bloc-notes :

GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;

Si votre espace de travail a été activé automatiquement pour Unity Catalog, l’administrateur de l’espace de travail possède le catalogue de l’espace de travail et peut accorder la possibilité de créer de nouveaux schémas :

GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;

Vous pouvez également accorder et révoquer des privilèges à l’aide de Catalog Explorer.

Important

Vous ne pouvez pas accorder de privilèges aux groupes users ou admins de l’espace de travail local. Pour accorder des privilèges sur des groupes, ils doivent être des groupes au niveau du compte.

Pour plus d’informations sur la gestion des privilèges dans Unity Catalog, consultez Gérer les privilèges dans Unity Catalog.

Étape 5 : Créer des catalogues et des schémas

Pour commencer à utiliser Unity Catalog, un catalogue au moins doit être défini. Les catalogues sont l’unité principale d’isolation et d’organisation des données dans Unity Catalog. Tous les schémas et toutes les tables se trouvent dans des catalogues, tout comme les volumes, les vues et les modèles.

Certains espaces de travail n’ont pas de catalogue provisionné automatiquement. Pour permettre l’utilisation de Unity Catalog, un administrateur d’espace de travail doit créer le premier catalogue associé aux espaces de travail de ce type.

Les autres espaces de travail ont accès à un catalogue préprovisionné auquel vos utilisateurs peuvent accéder pour démarrer (le catalogue d’espace de travail ou le catalogue main, selon la façon dont votre espace de travail a été activé pour Unity Catalog). À mesure que vous ajoutez d’autres ressources de données et d’IA dans Azure Databricks, vous pouvez créer des catalogues supplémentaires pour regrouper ces ressources de manière à faciliter la gouvernance logique des données.

Pour obtenir des recommandations sur l’utilisation optimale des catalogues et des schémas pour organiser vos ressources de données et d’IA, consultez Meilleures pratiques pour Unity Catalog.

En tant qu’administrateur de metastore, l’administrateur de l’espace de travail (uniquement espaces de travail activés automatiquement) ou autre utilisateur disposant du privilège CREATE CATALOG, vous pouvez créer de nouveaux catalogues dans le metastore. Quand vous le faites, vous devez :

  1. Créer du stockage managé pour le nouveau catalogue.

    Le stockage managé est un emplacement de stockage dédié dans votre compte Azure pour les tables managées et les volumes managés. Vous pouvez affecter un stockage managé au metastore, aux catalogues et aux schémas. Lorsqu’un utilisateur crée une table, les données sont stockées dans l’emplacement de stockage le plus bas dans la hiérarchie. Par exemple, si un emplacement de stockage est défini pour le metastore et le catalogue, mais pas pour le schéma, les données sont stockées à l’emplacement défini pour le catalogue.

    Databricks vous recommande d’affecter un stockage managé au niveau du catalogue, car les catalogues représentent généralement des unités logiques d’isolation des données. Si vous êtes à l’aise avec les données de plusieurs catalogues partageant le même emplacement de stockage, vous pouvez utiliser par défaut l’emplacement de stockage au niveau du metastore. Si votre espace de travail a été activé automatiquement pour Unity Catalog, il n’existe aucun stockage au niveau du metastore par défaut. Un administrateur de compte a la possibilité de configurer le stockage au niveau du metastore. Consultez Stockage managé et Ajouter un stockage managé à un metastore existant.

    L’attribution d’un stockage managé à un catalogue nécessite que vous créez :

    • Des informations d’identification de stockage.
    • Un emplacement externe référençant ces informations d’identification de stockage.

    Pour obtenir une introduction à ces objets et des instructions pour les créer, consultez Se connecter au stockage d’objets cloud à l’aide de Unity Catalog.

  2. Liez le nouveau catalogue à votre espace de travail si vous souhaitez limiter l’accès à partir d’autres espaces de travail qui partagent le même metastore.

    Consultez Lier un catalogue à un ou plusieurs espaces de travail.

  3. Accorder des privilèges sur le catalogue.

Pour obtenir des instructions détaillées, consultez Créer et gérer des catalogues.

Exemple de création de catalogue

L’exemple suivant montre la création d’un catalogue avec stockage managé, puis l’octroi du privilège SELECT sur le catalogue :

CREATE CATALOG IF NOT EXISTS mycatalog
  MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';

GRANT SELECT ON mycatalog TO `finance-team`;

Pour plus d’exemples, notamment des instructions sur la création de catalogues à l’aide de Catalog Explorer, consultez Créer et gérer des catalogues.

Créer un schéma

Les schémas représentent des regroupements plus granulaires (comme les services ou les projets, par exemple) que les catalogues. Toutes les tables et les autres objets Unity Catalog du catalogue sont contenus dans des schémas. En tant que propriétaire d’un nouveau catalogue, vous pouvez créer les schémas dans le catalogue. Toutefois, vous souhaiterez peut-être déléguer la possibilité de créer des schémas à d’autres utilisateurs en leur donnant le privilège CREATE SCHEMA sur le catalogue.

Pour obtenir des instructions détaillées, consultez Créer et gérer des schémas (bases de données).

(Facultatif) Attribuer le rôle d’administrateur de metastore

Si votre espace de travail a été activé automatiquement pour Unity Catalog, aucun rôle d’administrateur de metastore n’est attribué par défaut. Les administrateurs de metastore disposent de privilèges que les administrateurs de l’espace de travail n’ont pas.

Vous pouvez affecter un administrateur de metastore si vous devez :

Pour plus d’informations sur le rôle d’administrateur de metastore et les instructions relatives à son affectation, consultez Affecter un administrateur de metastore.

Mettre à niveau des tables dans votre metastore Hive vers des tables Unity Catalog

Si votre espace de travail était en service avant d’être activé pour Unity Catalog, il a probablement un metastore Hive qui contient des données que vous souhaitez continuer à utiliser. Databricks vous recommande de migrer les tables gérées par le metastore Hive vers le metastore Unity Catalog.

Consultez Mettre à niveau des tables et des vues vers Unity Catalog et Utiliser les utilitaires UCX pour mettre à niveau votre espace de travail vers Unity Catalog.

(facultatif) Continuer à utiliser votre metastore Hive

Si votre espace de travail dispose d’un metastore Hive qui contient des données que vous souhaitez continuer à utiliser, et que vous choisissez de ne pas suivre la recommandation consistant à mettre à niveau les tables gérées par le metastore Hive vers le metastore Unity Catalog, vous pouvez continuer à utiliser les données du metastore Hive en même temps que les données du metastore Unity Catalog.

Le metastore Hive est représenté dans les interfaces Unity Catalog sous la forme d’un catalogue nommé hive_metastore. Pour continuer à utiliser des données dans votre metastore Hive sans avoir à mettre à jour les requêtes pour spécifier le catalogue hive_metastore, vous pouvez définir le catalogue par défaut de l’espace de travail sur hive_metastore. Consultez Gérer le catalogue par défaut.

Selon le moment où votre espace de travail a été activé pour Unity Catalog, le catalogue par défaut peut déjà être hive_metastore.

(Facultatif) Créer un stockage au niveau du metastore

Bien que Databricks vous recommande de créer un emplacement de stockage managé distinct pour chaque catalogue de votre metastore (et que vous puissiez faire de même pour les schémas), vous pouvez choisir à la place de créer un emplacement managé au niveau du metastore, et l’utiliser en tant que stockage par défaut pour plusieurs catalogues et schémas.

Si vous souhaitez un stockage au niveau du metastore, vous devez également affecter un administrateur de metastore. Consultez (Facultatif) Attribuer le rôle d’administrateur de metastore.

Le stockage au niveau du metastore est obligatoire uniquement si les conditions suivantes sont remplies :

Pour plus d’informations sur la hiérarchie des emplacements de stockage managé, consultez Les données sont physiquement séparées dans le stockage.

Pour savoir comment ajouter du stockage au niveau du metastore aux metastores qui n’en ont pas, consultez Ajouter un stockage managé à un metastore existant.

Remarque

La plupart des espaces de travail activés pour Unity Catalog avant le 9 novembre 2023 ont une racine de stockage au niveau du metastore.

Étapes suivantes