Qu’est-ce que les catalogues dans Azure Databricks ?
Un catalogue est l’unité principale de l’organisation des données dans le modèle de gouvernance des données Azure Databricks Unity Catalog. Cet article donne une vue d’ensemble des catalogues dans le catalogue Unity et explique comment les utiliser le mieux.
Les catalogues sont la première couche de l’espace de noms de trois niveaux de Unity Catalog (catalog.schema.table-etc
). Ils contiennent des schémas, qui peuvent à leur tour contenir des tables, des vues, des volumes, des modèles et des fonctions. Les catalogues sont inscrits dans un metastore Unity Catalog dans votre compte Azure Databricks.
Comment organiser mes données dans des catalogues ?
Lorsque vous concevez votre modèle de gouvernance des données, vous devez réfléchir soigneusement aux catalogues que vous créez. En tant que niveau le plus élevé dans le modèle de gouvernance des données de votre organisation, chaque catalogue doit représenter une unité logique d’isolation des données et une catégorie logique d’accès aux données, ce qui permet à une hiérarchie efficace d’octrois de passer aux schémas et aux objets de données qu’ils contiennent. Les catalogues reflètent donc souvent les unités organisationnelles ou les étendues de cycle de vie du développement logiciel. Vous pouvez choisir, par exemple, d’avoir un catalogue pour les données de production et un catalogue pour les données de développement, ou un catalogue pour les données non client et un catalogue pour les données client sensibles.
Isolation des données à l’aide de catalogues
Chaque catalogue possède généralement son propre emplacement de stockage managé pour stocker des tables et des volumes managés, fournissant une isolation des données physiques au niveau du catalogue. Vous pouvez également choisir de stocker des données au niveau du metastore, en fournissant un emplacement de stockage par défaut pour les catalogues qui n’ont pas d’emplacement de stockage managé de leur propre choix. Vous pouvez ajouter du stockage au niveau du schéma pour une isolation des données plus granulaire.
Étant donné que votre compte Azure Databricks a un metastore par région, les catalogues sont intrinsèquement isolés par région.
Pour plus d’informations, consultez Qu’est-ce que les objets de base de données dans Azure Databricks ? et les données sont physiquement séparées dans le stockage.
Privilèges au niveau du catalogue
Étant donné que les octrois sur n’importe quel objet Catalogue Unity sont hérités par les enfants de cet objet, le fait de posséder un catalogue ou d’avoir de larges privilèges sur un catalogue est très puissant. Par exemple, les propriétaires de catalogue ont tous les privilèges sur le catalogue et les objets du catalogue, et ils peuvent accorder l’accès à n’importe quel objet du catalogue. Les utilisateurs disposant SELECT
d’un catalogue peuvent lire n’importe quelle table du catalogue. Les utilisateurs disposant CREATE TABLE
d’un catalogue peuvent créer une table dans n’importe quel schéma du catalogue.
Pour appliquer le principe du privilège minimum, où les utilisateurs ont le minimum d’accès dont ils ont besoin pour effectuer leurs tâches requises, vous accordez généralement l’accès uniquement aux objets ou niveaux spécifiques dans la hiérarchie dont l’utilisateur a besoin. Toutefois, les privilèges au niveau du catalogue permettent au propriétaire du catalogue de gérer ce que les propriétaires d’objets de niveau inférieur peuvent accorder. Même si un utilisateur est autorisé à accéder à un objet de données de bas niveau comme une table, par exemple, cet utilisateur ne peut pas accéder à cette table, sauf s’il dispose également du USE CATALOG
privilège sur le catalogue qui contient la table.
Pour plus d’informations, consultez Gérer la propriété de l’objet Catalogue Unity, les types de privilèges de catalogue Unity généraux, ainsi que les blocs de construction de gouvernance des données et d’isolation des données.
Types de catalogue
Lorsque vous créez un catalogue, vous disposez de deux options :
- Catalogue standard : le catalogue classique, utilisé comme unité principale pour organiser vos objets de données dans le catalogue Unity. Il s’agit du type de catalogue abordé dans cet article.
- Catalogue étranger : objet Unity Catalog utilisé uniquement dans les scénarios de fédération Lakehouse. Un catalogue étranger met en miroir une base de données dans un système de données externe, ce qui vous permet d’effectuer des requêtes en lecture seule sur ce système de données dans votre espace de travail Azure Databricks. Consultez Qu’est-ce que Lakehouse Federation ?.
En plus de ces deux types de catalogues, Azure Databricks provisionne automatiquement les catalogues suivants lorsque vous créez un espace de travail :
hive_metastore
catalogue : il s’agit du référentiel de toutes les données gérées par le metastore Hive hérité dans les espaces de travail Azure Databricks. Lorsqu’un espace de travail catalogue non Unity existant est converti en catalogue Unity, tous les objets inscrits dans le metastore Hive hérité sont exposés dans le catalogue Unity dans lehive_metastore
catalogue. Pour plus d’informations sur l’utilisation du metastore Hive avec unity Catalog, consultez Work with Unity Catalog et the legacy Hive metastore. Le metastore Hive est déconseillé et tous les espaces de travail Azure Databricks doivent migrer vers le catalogue Unity.- Catalogue d’espaces de travail : dans tous les nouveaux espaces de travail, ce catalogue est créé par défaut. En règle générale, il partage son nom avec le nom de votre espace de travail. Si ce catalogue existe, tous les utilisateurs de votre espace de travail (et uniquement votre espace de travail) y ont accès par défaut, ce qui permet aux utilisateurs d’essayer le processus de création et d’accès aux objets de données dans le catalogue Unity. Consultez étape 1 : vérifiez que votre espace de travail est activé pour le catalogue Unity.
Catalogue par défaut
Un catalogue par défaut est configuré dans chaque espace de travail dans lequel Unity Catalog est activé. Le catalogue par défaut vous permet d’effectuer des opérations de données sans spécifier de catalogue. Si vous omettez le nom du catalogue de premier niveau quand vous effectuez des opérations de données, le catalogue par défaut est utilisé.
Si votre espace de travail a été activé automatiquement pour le catalogue Unity, le catalogue d’espaces de travail préprovisionné est spécifié comme catalogue par défaut. Un administrateur d’espace de travail peut modifier le catalogue par défaut en fonction des besoins.
Pour plus d’informations, consultez Gérer le catalogue par défaut.
Liaison espace de travail-catalogue
Si vous utilisez des espaces de travail pour isoler l’accès aux données utilisateur, vous pouvez utiliser des liaisons espace de travail-catalogue. Les liaisons espace de travail-catalogue vous permettent de limiter l’accès au catalogue par des limites d’espace de travail. Par exemple, vous pouvez vous assurer que les administrateurs et les utilisateurs de l’espace de travail peuvent uniquement accéder aux données de production dans prod_catalog
à partir d’un environnement d’espace de travail de production, prod_workspace
. Les catalogues sont partagés avec tous les espaces de travail attachés au metastore actuel, sauf si vous spécifiez une liaison. Consultez Organiser vos données et limiter l’accès au catalogue à des espaces de travail spécifiques.
Si votre espace de travail a été activé automatiquement pour le catalogue Unity, le catalogue d’espaces de travail approvisionné préalablement est lié à votre espace de travail par défaut.