cours
Catalogue Databricks Unity : Guide du débutant
Vous venez d'entendre parler de Databricks Unity Catalog. Vous vous demandez maintenant de quoi il s'agit et quel rôle il joue dans la gestion moderne des données.
Ce guide complet vous présentera Databricks Unity Catalog et vous aidera à comprendre son importance dans l'analyse des données dans la pile de données moderne.
Qu'est-ce que Databricks Unity Catalog ?
Databricks Unity Catalog est un service unifié de gouvernance des données qui simplifie et rationalise gestion des données pour les charges de travail analytiques. Il rassemble tous les différents types de métadonnées utilisés par divers outils de veille stratégique, les bases de données, entrepôts de donnéeset lacs de données en un seul endroit central. Cela favorise l'interopérabilité entre les systèmes, ce qui facilite la recherche et l'accès aux données structurées et non structurées.
Au fur et à mesure que les entreprises développent leurs opérations de données, la gestion de l'accès, de la gouvernance et de la conformité sur plusieurs plates-formes de données devient complexe. Unity Catalog relève ce défi en fournissant une couche unifiée pour les métadonnées, le contrôle d'accès et le suivi de la lignée, réduisant ainsi la charge opérationnelle.
Cette approche centralisée de la gouvernance des données présente certains avantages en termes de partage de produits de données communs, tels que
- Modèles d'apprentissage automatique
- Notebooks
- Tableaux de bord
- Fichiers
Les principaux composants de Databricks Unity Catalog sont les suivants :
- Métastore: Une couche de stockage pour les métadonnées qui simplifie la recherche de données et améliore la traçabilité des données.
- Catalogue: Un référentiel central pour le stockage, la gestion et la découverte des données.
- Schéma: Un modèle de données utilisé pour organiser et gérer les actifs de données dans Databricks Unity Catalog.
- Granularité: Le niveau de détail disponible dans le cursus des métadonnées. Il permet aux équipes de gérer les accès à différents niveaux (catalogue, schéma, tableau ou même colonne), assurant ainsi un contrôle fin sur les actifs de données."
- Tableaux, vues et volumes: Ce sont les objets de données fondamentaux dans Databricks Unity Catalog utilisés pour représenter les données structurées et non structurées.
- Lignée de données: Représentation visuelle du flux de données de leur source à leur destination, permettant de suivre les changements et de garantir l'intégrité des données.
Ces composants fonctionnent ensemble pour fournir une solution complète de gouvernance des données qui simplifie la gestion des données et favorise la collaboration entre les équipes.
Avantages du catalogue Unity
L'utilisation de Databricks Unity Catalog présente plusieurs avantages clés, que nous vous présentons ci-dessous :
1. Gouvernance des données et conformité
Databricks Unity Catalog fournit un emplacement centralisé pour le stockage et la gestion des métadonnées, garantissant ainsi gouvernance des données et la conformité des données entre les différents systèmes.
Par exemple, Unity Catalog fournit des alertes pour la détection potentielle d'IIP dans les modèles d'apprentissage automatique en production. Le lignage des données permet de revenir facilement en arrière sur ces modèles.
Cela aide les organisations à maintenir l'intégrité des données, à se conformer aux réglementations et à réduire les risques.
2. Collaboration et analyse en libre-service
Unity Catalog encourage la collaboration entre les équipes en fournissant un emplacement central pour le stockage des données. Cela permet d'éliminer les silos et de favoriser la communication interfonctionnelle, en promouvant l'analyse en libre-service.
Les analystes de données et les utilisateurs professionnels peuvent facilement découvrir et accéder aux données pertinentes, ce qui réduit le temps consacré aux tâches de préparation des données.
Principaux cas d'utilisation du catalogue Unity
Il existe plusieurs façons de mettre en œuvre le catalogue Unity :
1. Contrôle de l'accès aux données et sécurité
Databricks Unity Catalog permet aux organisations de mettre en œuvre un contrôle d'accès précis pour les actifs de données, garantissant que les données ne sont accessibles qu'aux utilisateurs autorisés. Il permet également le partage sécurisé de données sensibles entre les équipes.
2. Découverte des données et lignage
La gestion des gestion des métadonnées permettent une découverte efficace des données et fournissent une représentation visuelle du flux de données de leur source à leur destination. Cela permet de curer les modifications apportées aux ensembles de données, ce qui facilite l'audit et le dépannage.
3. Rationalisation de la conformité et des audits
Grâce à un référentiel centralisé de toutes les données et de leur historique, Unity Catalog simplifie les rapports de conformité et les processus d'audit. Cela réduit le temps et les efforts nécessaires pour assurer la conformité réglementaire.
Comment activer Unity Catalog dans Databricks ?
Maintenant, essayons d'utiliser le catalogue Unity à l'aide de ce tutoriel d'installation simple :
Conditions préalables
Avant d'activer et d'utiliser Unity Catalog, assurez-vous que vous remplissez les conditions suivantes :
Plan Databricks premium ou entreprise
Unity Catalog n'est pris en charge que sur les niveaux Databricks Premium ou Enterprise. Assurez-vous que votre espace de travail Databricks est sur l'un de ces plans.
Autorisations appropriées
- Administrateur de comptes: Vous devez avoir le rôle Account Admin dans Databricks pour configurer et gérer Unity Catalog au niveau du compte.
- Administrateur de l'espace de travail: Vous devez être un administrateur de l'espace de travail dans lequel vous souhaitez activer Unity Catalog.
Disponibilité du métastore
Unity Catalog nécessite un métastore au niveau du compte. Si vous n'en avez pas créé, vous devrez le faire lors de l'installation. Pour un compte Databricks d'essai, vous aurez un catalogue avec un métastore déjà créé pour vous.
Plates-formes cloud prises en charge
Actuellement, le catalogue Unity est pris en charge sur :
- AWS
- Azure
- PCG
Assurez-vous que vous utilisez un environnement Databricks pris en charge dans l'un de ces clouds.
Stockage géré ou emplacements externes
Décidez si vous allez utiliser des tableaux gérés (stockage géré) ou créer des tableaux externes référençant des données dans un emplacement externe (comme S3, ADLS ou GCS). Chaque approche peut avoir des exigences différentes en matière d'autorisation.
Activation du catalogue Unity : Guide étape par étape
Naviguer dans les paramètres de Databricks
- Connectez-vous à la console du compte Databricks
- Accédez à la Console de compte Databricks (l'URL peut varier légèrement pour AWS, Azure ou GCP). Utilisez un utilisateur administrateur de compte pour vous connecter.
- Accéder à la page du catalogue
- Dans le volet de navigation de gauche (dans la console de compte), cherchez Catalogue en fonction de votre version de Databricks.
- Dans une version d'essai de Databricks, un métastore et un catalogue Serverless Starter Warehouse auraient dû être créés.
- Démarrer le calcul de l'entrepôt SQL
- Dans le volet de navigation de gauche, sélectionnez Entrepôts SQLpuis démarrez le Serverless Starter Warehouse en cliquant sur le bouton Jouer à droite.
- Affectation à des espaces de travail
- Sous Espaces de travail dans la configuration du catalogue, attachez le(s) espace(s) de travail qui doivent utiliser ce catalogue.
Configuration du catalogue Unity
- Attribuer des autorisations
- En tant qu'administrateur, naviguez vers Catalogue dans la barre latérale gauche de votre espace de travail Databricks.
- Sélectionnez l'espace de travail que vous souhaitez gérer.
- Cliquez sur l'ongletPermissions pour définir les permissions (par exemple, qui peut créer des catalogues, des schémas et des tableaux). Par défaut, l'administrateur du compte ou de l'espace de travail dispose de tous les privilèges, mais vous pouvez déléguer des privilèges à d'autres utilisateurs ou groupes.
- Créer des catalogues et des schémas (si nécessaire)
- Vous pouvez créer des catalogues et des schémas supplémentaires pour différentes équipes, différents projets ou différents domaines de données. Cette opération s'effectue souvent par le biais de commandes SQL (voir ci-dessous).
-- Creates a new catalog named "demo_catalog"
CREATE CATALOG IF NOT EXISTS demo_catalog
COMMENT 'This catalog is created for Unity Catalog demo';
- Configurer les emplacements externes (facultatif)Si vous avez besoin de tableaux externes stockés dans des emplacements externes :
- Créez un emplacement externe dans Unity Catalog qui pointe vers votre stockage dans le cloud (S3, ADLS ou GCS).
- Accordez aux utilisateurs ou aux groupes l'accès en lecture et en écriture à ces emplacements via Unity Catalog.
Exemple de code et d'utilisation
Vous trouverez ci-dessous quelques exemples de notebooks Databricks/commandes SQL que vous pouvez utiliser une fois que Unity Catalog est configuré dans votre espace de travail.
Vous pouvez les exécuter dans un bloc-notes Databricks ou dans l'éditeur SQL de votre espace de travail.
Octroi de privilèges sur un catalogue
L'octroi de privilèges sur un catalogue garantit que des groupes d'utilisateurs spécifiques peuvent accéder aux données qui y sont stockées et interagir avec elles. Cependant, USAGE
ne permet pas à lui seul aux utilisateurs d'interroger les données ; il leur permet simplement de voir que le catalogue existe. Pour permettre une interaction complète, vous devez accorder des privilèges supplémentaires au niveau du schéma ou du tableau.
Par exemple, pour permettre aux ingénieurs de données d'accéder à un catalogue :
-- Grant USAGE to a specific group on the newly created catalog
GRANT USAGE ON CATALOG demo_catalog TO data_engineers_group;
S'ils doivent également créer des schémas dans ce catalogue :
GRANT CREATE ON CATALOG demo_catalog TO data_engineers_group;
Création d'un schéma (base de données) dans le catalogue
Dans Unity Catalog, un schéma organise les tableaux et les vues au sein d'un catalogue, de la même manière qu'une base de données contient des tableaux dans les systèmes SGBDR traditionnels. L'utilisation de IF NOT EXISTS
permet d'éviter les erreurs si le schéma existe déjà.
Pour créer un schéma pour les données analytiques dans demo_catalog
:
CREATE SCHEMA IF NOT EXISTS demo_catalog.analytics
COMMENT 'Schema for analytics data';
Après la création, il se peut que vous deviez accorder des privilèges à des utilisateurs spécifiques :
GRANT USAGE ON SCHEMA demo_catalog.analytics TO data_analysts_group;
Cela permet au groupe data_analysts_group de voir le schéma mais pas encore d'interroger ses tableaux.
Création d'un tableau géré
Les tableaux gérés sont entièrement contrôlés par Unity Catalog, ce qui signifie que Databricks s'occupe du stockage et du suivi des métadonnées. Cela simplifie la gestion mais signifie que les données sont supprimées si le tableau est abandonné.
Pour créer un tableau géré pour les données de vente :
USE CATALOG demo_catalog;
USE SCHEMA analytics;
CREATE TABLE IF NOT EXISTS sales_data (
transaction_id STRING,
product_id STRING,
quantity INT,
price DECIMAL(10,2),
transaction_date DATE
)
COMMENT 'Managed table for sales data';
Octroi de privilèges sur un tableau
L'octroi de privilèges sur les tableaux garantit que les utilisateurs peuvent interroger ou modifier les données. Le privilège SELECT
permet aux utilisateurs de lire les données mais pas de les modifier.
Pour permettre aux data scientists de lire dans le tableau des ventes :
GRANT SELECT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
S'ils ont besoin d'insérer de nouveaux enregistrements, accordez-leur INSERT
:
GRANT INSERT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
Pour un contrôle total (lecture, écriture, modification), utilisez :
GRANT ALL PRIVILEGES ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
Configuration de l'emplacement externe
Si vous disposez d'un emplacement de données externe (par exemple, S3 sur AWS), vous pouvez créer un objet d'emplacement externe dans Unity Catalog :
-- Create an external location named "demo_external_location"
CREATE EXTERNAL LOCATION demo_external_location
URL 's3://my-demo-bucket/my-path/'
WITH CREDENTIAL my_storage_credential
COMMENT 'External location for demo data';
-- Grant read and write privileges to a group
GRANT READ, WRITE ON EXTERNAL LOCATION demo_external_location
TO data_engineers_group;
Architecture du catalogue Databricks Unity
Databricks Unity Catalog est construit sur le projet open-source Apache Sparkqui fournit une plateforme informatique distribuée pour le traitement de données à grande échelle. Il utilise le Hive Metastore pour stocker les métadonnées relatives aux ensembles de données et aux tableaux, ce qui permet une gestion efficace et des requêtes performantes.
L'architecture du catalogue Unity comprend trois composants principaux :
- Magasin de métadonnées: Ce composant stocke toutes les métadonnées relatives aux ensembles de données, tableaux, emplacements externes et autres objets.
- Catalogue: Ce composant sert d'interface entre le magasin de métadonnées et la couche de calcul. Il fournit une vue unifiée de toutes les métadonnées stockées dans le magasin de métadonnées, ce qui permet aux utilisateurs d'accéder facilement à leurs données et de les interroger.
- Espaces de travail: Les espaces de travail sont des lieux de stockage virtuels où les données peuvent être stockées et gérées en toute sécurité. Ils facilitent la collaboration entre les équipes en fournissant un emplacement central pour l'accès et la manipulation des données.
Source : Bases de données
Avec Databricks Unity Catalog, les utilisateurs peuvent facilement gérer et interroger leurs données sans avoir à se soucier de l'infrastructure sous-jacente. Ils peuvent également collaborer avec d'autres membres de l'équipe en leur accordant des autorisations spécifiques, telles que des privilèges de lecture et d'écriture, pour différents jeux de données ou tableaux.
Pour accorder ces autorisations, les utilisateurs peuvent utiliser des commandes SQL telles que "GRANT"pour spécifier quels utilisateurs ou groupes peuvent accéder à certaines données. Cela permet de s'assurer que seules les personnes autorisées ont accès aux informations sensibles.
Comment le catalogue Unity s'intègre-t-il aux systèmes de données existants ?
Unity Catalog s'intègre de manière transparente aux systèmes de données existants, tels que Amazon S3 et Azure Blob Storagece qui facilite l'accès et la gestion des données provenant de différentes sources. Cela permet aux utilisateurs d'analyser rapidement de grands ensembles de données sans avoir à déplacer ou à copier manuellement les données dans Databricks.
Le catalogue Unity prend également en charge divers formats de fichiers tels que CSV, JSON, Parquet et Avro, ce qui permet de travailler avec différents types de données.
Meilleures pratiques pour Databricks Unity Catalog
Lorsque vous travaillez avec Unity Catalog, certaines bonnes pratiques peuvent vous aider à assurer une gestion efficace des données.
Il s'agit notamment de
- Utilisez des conventions de dénomination descriptives pour les tableaux et les colonnes afin de faciliter la compréhension des données.
- Mettez régulièrement à jour les métadonnées dans Unity Catalog pour garder une trace des modifications apportées aux données sous-jacentes.
- Utiliser des contrôles d'accès pour restreindre l'accès aux données sensibles, en suivant le principe du "moindre privilège". Cela signifie qu'il ne faut accorder que les autorisations nécessaires aux utilisateurs ou aux groupes en fonction de leur rôle et de leurs responsabilités.
- Utilisez des tags et des étiquettes pour classer et organiser les ensembles de données dans Unity Catalog, ce qui facilite la recherche de données spécifiques.
Ces mesures contribueront à garantir une gouvernance efficace des données et des performances optimales.
Défis communs et comment les relever
Unity Catalog n'est pas une solution infaillible et peut être confronté à certains défis dans la gestion efficace des données.
Les problèmes les plus fréquents sont les suivants :
- Duplication des données: Cela se produit lorsque les mêmes données sont stockées plusieurs fois, ce qui entraîne des incohérences et des erreurs.
- Qualité des données: Des données mal gérées ou inexactes peuvent avoir un impact sur les décisions et les processus de l'entreprise.
- Hiérarchies de données complexes: Les grands ensembles de données avec des relations complexes peuvent être difficiles à organiser et à gérer dans le catalogue Unity.
Pour relever ces défis, voici quelques conseils :
- Examinez et nettoyez régulièrement les données afin d'éviter les doublons. Il s'agit notamment de supprimer les données inutiles ou obsolètes.
- Mettre en œuvre des contrôles de qualité des données et des validations pour garantir l'exactitude des données dans Unity Catalog.
Réflexions finales
Unity Catalog est un outil puissant pour gérer les données dans une vue unique grâce à l'utilisation de métastores, de catalogues et d'espaces de travail. Il fournit un emplacement centralisé pour le stockage et l'organisation des données, ce qui facilite leur gestion et leur utilisation dans le cadre de vos processus d'entreprise.
Vous voulez en savoir plus sur Databricks ? Vous devriez consulter notre Introduction à Databricks cours d'introduction à Databricks, Tutoriel Databricks et notre webinaire Databricks.
Catalogue Databricks Unity FAQs
Quelle est la différence entre Unity Catalog et Hive Metastore Databricks ?
Unity Catalog est un service de métadonnées unifié qui offre une alternative plus efficace et plus évolutive au traditionnel Hive Metastore sur Databricks. Il constitue une source unique de vérité pour tous vos besoins en métadonnées et facilite la gestion et l'accès.
Puis-je utiliser Unity Catalog avec des sources de données autres que Databricks ?
Oui, Unity Catalog prend en charge les tableaux gérés par Databricks et les tableaux externes, ce qui vous permet d'intégrer facilement des métadonnées provenant de diverses sources en un seul endroit. Cependant, il peut y avoir certaines limites.
Comment Unity Catalog améliore-t-il les performances ?
En fournissant un magasin de métadonnées centralisé, Unity Catalog élimine la nécessité d'interroger fréquemment des systèmes externes, ce qui permet d'accélérer les temps d'exécution des requêtes.

Je m'appelle Austin, je suis blogueur et rédacteur technique et j'ai des années d'expérience en tant que data scientist et data analyst dans le domaine de la santé. J'ai commencé mon parcours technologique avec une formation en biologie et j'aide maintenant les autres à faire la même transition grâce à mon blog technologique. Ma passion pour la technologie m'a conduit à écrire pour des dizaines d'entreprises SaaS, inspirant les autres et partageant mes expériences.
Les meilleurs cours de DataCamp
cours
Gestion des données dans Databricks
cours