Créer des catalogues
Cet article montre comment créer des catalogues dans Unity Catalog. Un catalogue contient des schémas (bases de données), et un schéma contient des tables, des vues, des volumes, des modèles et des fonctions.
Pour en savoir plus sur les catalogues, consultez Qu'est-ce qu'un catalogue dans Databricks ?
Pour savoir comment créer un catalogue étranger , un objet Unity Catalog qui reflète une base de données dans un système de données externe, consultez Créer un catalogue étranger. Consultez également Gérer et travailler avec des catalogues étrangers.
Exigences
Pour créer un catalogue, quel que soit le type de catalogue :
- Vous devez disposer du privilège
CREATE CATALOGsur le métastore. - La ressource de compute que vous utilisez pour exécuter un Notebook afin de créer un catalogue doit être sur Databricks Runtime 11.3 ou une version supérieure et doit utiliser un mode d'accès conforme à Unity Catalog. Voir Modes d'accès. Les SQL Warehouse prennent toujours en charge Unity Catalog.
Pour créer un catalogue partagé :
- Le partage OpenSharing doit déjà exister dans votre workspace. Consultez Comment rendre les données partagées disponibles à mon équipe ?.
- Vous devez disposer du privilège
USE PROVIDERsur le métastore ou être propriétaire de l’objet fournisseur qui inclut le partage.
Pour créer un catalogue standard :
- Si vous spécifiez un emplacement de stockage géré pour le catalogue, vous devez disposer du privilège
CREATE MANAGED STORAGEsur l'emplacement externe cible. - S'il n'existe pas de stockage géré au niveau du métastore, vous *devez* spécifier un emplacement de stockage géré pour le catalogue.
Pour créer un catalogue étranger :
- Vous devez être soit le propriétaire de la connexion que vous utilisez pour créer le catalogue étranger, soit disposer du privilège
CREATE FOREIGN CATALOGsur la connexion. - Vous devez utiliser compute sur Databricks Runtime 13.1 ou une version ultérieure. Les SQL warehouses doivent être Pro ou Serverless.
Créer un catalogue
Pour créer un catalogue, vous pouvez utiliser l'Explorateur de catalogues, une commande SQL, l'API REST, la CLI Databricks ou Terraform. Lorsque vous créez un catalogue, deux schémas (bases de données) sont automatiquement créés : default et information_schema.
- Catalog Explorer
- SQL
- Other
-
Connectez-vous à un Workspace lié au métastore.
-
Cliquez sur
le Catalogue .
-
Cliquez sur Catalogs sous Accès rapide .
-
Cliquez sur **Créer un catalogue**.
-
Dans la boîte de dialogue Create a new catalog , saisissez un Catalog name et sélectionnez le Type de catalogue que vous souhaitez créer :
- Catalogue standard : un objet sécurisable qui organise les données et les assets d'IA gérés par Unity Catalog. Pour tous les cas d'usage, sauf Lakehouse Federation et les catalogues créés à partir de partages OpenSharing.
- Catalogue étranger : un objet sécurisable qui reproduit une base de données dans un système de données externe à l'aide de Lakehouse Federation. Consultez Présentation de la configuration de Fédération de query.
- Catalogue partagé : un objet sécurisable qui organise les données et d'autres assets qui vous sont partagés en tant que *partage* OpenSharing. La création d'un catalogue à partir d'un partage rend ces assets disponibles en lecture pour les utilisateurs de votre Workspace. Consultez Qu'est-ce qu'un partage ?.
-
Selon le type de catalogue, spécifiez les options suivantes :
-
Pour les catalogues standard : Il est facultatif, mais fortement recommandé de spécifier un emplacement de stockage géré. Vous devez disposer du privilège
CREATE MANAGED STORAGEsur l'emplacement externe cible que vous utilisez comme emplacement de stockage géré. Voir Spécifier un emplacement de stockage géré dans Unity Catalog.Vous pouvez éventuellement spécifier un sous-chemin d'un emplacement externe défini. Si vous n'avez pas d'emplacement externe défini, vous pouvez en créer un en cliquant sur Créer un nouvel emplacement externe .
-
Si votre Workspace ne dispose pas d'un emplacement de stockage au niveau du metastore, vous *devez* spécifier un emplacement de stockage géré lorsque vous créez un catalogue.
-
**Pour les catalogues externes** : Vous devez sélectionner une **Connexion**, qui est un objet sécurisable dans Unity Catalog qui spécifie un chemin et des informations d'identification pour l'accès à un système de base de données externe. Voir Vue d'ensemble de la configuration de la fédération de requêtes.
Une fois la connexion sélectionnée, saisissez le nom de la Base de données ou d'un autre Catalog Databricks que vous souhaitez répliquer.
Les exigences diffèrent selon la source de données :
- MySQL utilise un espace de noms à deux niveaux et ne nécessite donc pas de nom de base de données.
- Pour les connexions à un catalogue dans un autre Workspace Databricks, saisissez le nom du Catalog Databricks au lieu d'un nom de base de données.
Si vous n'avez pas de connexion définie, vous pouvez en créer une en cliquant sur Créer une nouvelle connexion .
-
Pour les catalogues partagés : Vous devez sélectionner un Fournisseur et un Partage . Une fois que vous avez sélectionné le fournisseur, vous pouvez sélectionner l'un des partages du fournisseur.
Si vous n'êtes pas sûr du fournisseur et du partage que vous souhaitez, il peut être plus facile de parcourir ou de rechercher des fournisseurs et des partages à l'aide du navigateur de l'Explorateur de catalogues. Consultez Afficher les fournisseurs et Afficher les partages qu'un fournisseur a partagés avec vous.
-
Cliquez sur Créer .
-
Sur le Catalogue créé ! Cliquez sur Afficher le catalogue pour accepter le catalogue configuré automatiquement, ou cliquez sur Configurer le catalogue (recommandé) pour configurer les autorisations de catalogue, les liaisons de workspace et les métadonnées.
Si vous cliquez sur **Afficher le catalogue**, le catalogue sera accessible à tous les workspaces attachés au métastore, et le
BROWSEprivilège sera accordé à tous les utilisateurs du compte. Vous pouvez ignorer les étapes restantes de cette procédure et passer à l'ajout de schémas au catalogue. Voir Créer des schémas.Vous pouvez retourner à la page des détails du catalogue dans l'Explorateur de catalogues à tout moment pour mettre à jour le propriétaire, les tags, les commentaires, les liaisons du Workspace, les autorisations et les schémas.
-
Sur la page Configurer le catalogue > Workspaces , spécifiez le Workspace auquel le catalogue est lié.
Par défaut, le catalogue est partagé avec tous les Workspace attachés au metastore actuel. Si le catalogue contient des données qui doivent être restreintes à des espaces de travail spécifiques, désélectionnez l'option Tous les espaces de travail disposent d'un accès et utilisez le bouton Attribuer aux espaces de travail pour ajouter ces espaces de travail. Le workspace actuel doit être inclus.
Après avoir attribué un Workspace, vous pouvez éventuellement modifier son niveau d'accès par default Lecture & écriture en Lecture seule : sélectionnez le Workspace dans la liste et cliquez sur le bouton Gérer le niveau d'accès .
Pour plus d'informations, consultez Liaison Workspace-catalogue.
-
Cliquez sur **Suivant** pour attribuer des **autorisations** pour votre catalogue.
Tous les utilisateurs du compte disposent du privilège
BROWSEpar default, ce qui leur donne la possibilité de découvrir les métadonnées du catalogue sans avoir d'accès en lecture aux données.Pour accorder un privilège à un utilisateur, un groupe ou un Service Principal, cliquez sur Accorder et suivez les instructions de la référence des privilèges Unity Catalog.
-
Cliquez sur Suivant pour ajouter une balise et un commentaire **Métadonnées** facultatifs.
**Tags** sont des paires clé-valeur que vous pouvez utiliser pour organiser et catégoriser les catalogues afin de simplifier la recherche et la découverte de vos assets de données. Les valeurs sont facultatives. Voir Appliquer des tags aux objets sécurisables d'Unity Catalog.
Un **commentaire** est un champ ouvert souvent utilisé pour fournir une description afin d’aider les utilisateurs à découvrir les assets de données dans le catalogue. Consultez Ajouter des commentaires aux données et aux assets d’IA.
-
Cliquez sur Enregistrer .
-
Ajoutez des schémas et des objets de données au catalogue.
Consultez Créer des schémas.
Vous pouvez utiliser Catalog Explorer pour mettre à jour le propriétaire, les tags, les commentaires, les liaisons de workspace et les autorisations à tout moment après avoir créé le catalogue.
Pour créer un catalogue standard, exécutez la commande SQL suivante dans un Notebook ou un éditeur de query SQL. Les éléments entre crochets sont facultatifs. Remplacez les valeurs de placeholder :
-
<catalog-name>Nom du catalogue. -
<location-path>Facultatif mais fortement recommandé. Fournissez un chemin d'emplacement de stockage si vous souhaitez que les tables gérées de ce catalogue soient stockées dans un emplacement différent du stockage racine par default configuré pour le metastore.
Si votre Workspace ne dispose pas d'un emplacement de stockage au niveau du metastore, vous devez spécifier un emplacement de stockage géré lors de la création d'un catalogue.
Ce chemin doit être défini dans une configuration d'emplacement externe, et vous devez disposer du privilège CREATE MANAGED STORAGE sur la configuration de l'emplacement externe. Vous pouvez utiliser le chemin défini dans la configuration de l'emplacement externe ou un sous-chemin (en d'autres termes, 's3://depts/finance' ou 's3://depts/finance/product').
<comment>: Description facultative ou autre commentaire.
CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
[ MANAGED LOCATION '<location-path>' ]
[ COMMENT <comment> ];
Par exemple, pour créer un catalogue nommé example:
CREATE CATALOG IF NOT EXISTS example;
Pour créer un catalogue partagé , exécutez la commande suivante dans un notebook ou un éditeur de requêtes SQL. Les éléments entre crochets sont facultatifs.
CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
[ COMMENT <comment> ];
Pour créer un catalogue étranger , exécutez la commande suivante dans un Notebook ou un éditeur de query SQL. Les éléments entre crochets sont facultatifs. Remplacez les valeurs de placeholder :
<catalog-name>: Nom du catalogue dans Databricks.<connection-name>: L'objet de connexion qui spécifie la source de données, le chemin d'accès et les informations d'identification d'accès.<database-name>: Nom de la base de données que vous souhaitez répliquer en tant que catalogue dans Databricks. Non requis pour MySQL, qui utilise un espace de noms à deux niveaux. Pour la Lakehouse Federation *Databricks-to-Databricks*, utilisezcatalog '<external-catalog-name>'à la place.<external-catalog-name>: Databricks-to-Databricks uniquement : Nom du catalogue dans le Databricks Workspace externe que vous mettez en miroir. Consultez Exécuter des requêtes fédérées sur un autre Databricks Workspace.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];
Voir aussi Créer un catalogue étranger.
Pour limiter l'accès au catalogue à des workspaces spécifiques dans votre compte , également appelé liaison workspace-catalogue, consultez Liaison workspace-catalogue.
Pour des descriptions détaillées des paramètres , reportez-vous à CREATE CATALOG.
Après avoir créé le catalogue, attribuez des privilèges au catalogue. Voir référence des privilèges Unity Catalog.
**Terraform** : Vous pouvez créer un catalogue en utilisant le fournisseur Databricks Terraform et databricks_catalog. Vous pouvez récupérer des informations sur les catalogues à l'aide de databricks_catalogs.
**API REST** : Utilisez POST /api/2.1/unity-catalog/catalogs.
Databricks CLI : databricks catalogs create <catalog-name> [options]
Pour une liste d'options, exécutez databricks catalogs create -h. Les options sont également décrites dans la référence d'API. Suivez le lien API dans le paragraphe précédent.
Après avoir créé le catalogue, attribuez des privilèges au catalogue. Voir référence des privilèges Unity Catalog.