1. Introduction
En tant que développeurs et ingénieurs de données, nous héritons souvent de grandes collections de données qui ressemblent davantage à des marécages de données. Nous rencontrons les mêmes points de friction à plusieurs reprises : "Quelle est la définition exacte de cette colonne "amt" ?", "Qui est responsable si cet ensemble de données est corrompu ?" ou "Sommes-nous autorisés à utiliser cette table dans le moteur de recommandations personnalisées ?"
Traditionnellement, les catalogues de données sont des inventaires passifs remplis de tags en texte libre qui deviennent rapidement incohérents et obsolètes. Elles n'imposent aucune structure, ce qui rend la gouvernance programmatique presque impossible.
Pour que cet atelier soit pratique, nous allons travailler sur un scénario : établir une gouvernance solide sur les données brutes des ventes au détail afin qu'elles puissent être utilisées par un service financier pour les rapports officiels. Vous allez déplacer ces données d'un état ambigu de "marécage" vers un produit contrôlé.
Dataplex Universal Catalog change la donne en fournissant un framework de gestion des métadonnées actif et structuré. Il vous permet d'associer des métadonnées structurées et basées sur un schéma (aspects) et des définitions métier acceptées (glossaires) directement à vos composants de données (entrées).
Avant de pouvoir écrire des scripts Python ou des modules Terraform pour automatiser ce processus à grande échelle, vous devez comprendre le modèle d'objet sous-jacent.
Dans cet atelier de programmation, nous allons effectuer manuellement les étapes de gouvernance dans la console Google Cloud. Nous allons établir explicitement le lien entre les entrées, les types d'aspects, les aspects et les glossaires pour vous donner un modèle mental solide sur la façon de rendre vos données détectables, compréhensibles et fiables.
Prérequis
- Un projet Google Cloud avec un accès Propriétaire ou Éditeur.
- savoir utiliser la console Google Cloud ;
- Compétences de base concernant les CLI gcloud et bq dans Cloud Shell.
Points abordés
- Différence essentielle entre une entrée Dataplex, un type d'aspect et un aspect.
- Découvrez comment créer un glossaire d'entreprise pour lever toute ambiguïté concernant la terminologie.
- Découvrez comment concevoir un type d'aspect pour appliquer un schéma strict aux métadonnées techniques (au-delà des "tags").
- Associer un terme du glossaire d'entreprise à une colonne BigQuery spécifique
- Découvrez comment associer un Aspect structuré à un ensemble de données et valider les entrées.
- Comment exécuter des requêtes de recherche précises sur ces nouvelles métadonnées structurées.
Prérequis
- Un compte Google Cloud et un projet Google Cloud
- Un navigateur Web tel que Chrome
Concepts clés
- Entrée : représentation canonique et abstraite d'un élément de données dans le catalogue. Considérez-le comme le "pointeur" ou le "nom". Lorsque vous créez une table BigQuery, Dataplex crée automatiquement une entrée pour celle-ci. Nous ne gérons pas directement la table, mais son entrée.
- Glossaire d'entreprise : dictionnaire centralisé et versionné des termes commerciaux de votre organisation. Il s'agit de la seule source d'informations fiable. Cela permet d'éviter le problème "Les ventes définissent le volume brut de marchandises différemment des finances".
- Type d'aspect : schéma ou modèle pour une catégorie spécifique de métadonnées. Un type d'aspect définit les champs, les types de données (chaîne, enum, datetime, etc.) et les contraintes (obligatoire/facultatif). Il s'agit du contrat qui assure la cohérence des métadonnées.
- Aspect : élément spécifique de métadonnées associé à une entrée et qui suit la structure définie par le type d'aspect. Il contient les données réelles qui respectent le schéma du type d'aspect.
2. Préparation
Démarrer Cloud Shell
Bien que Google Cloud puisse être utilisé à distance depuis votre ordinateur portable, nous allons nous servir de Google Cloud Shell pour cet atelier de programmation, un environnement de ligne de commande exécuté dans le cloud.
Dans la console Google Cloud, cliquez sur l'icône Cloud Shell dans la barre d'outils supérieure :

Le provisionnement et la connexion à l'environnement prennent quelques instants seulement. Une fois l'opération terminée, le résultat devrait ressembler à ceci :

Cette machine virtuelle contient tous les outils de développement nécessaires. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud, ce qui améliore nettement les performances du réseau et l'authentification. Vous pouvez effectuer toutes les tâches de cet atelier de programmation dans un navigateur. Vous n'avez rien à installer.
Activer les API requises et configurer l'environnement
Exécutez les commandes suivantes pour définir l'ID de votre projet, définir la région et activer les API de service nécessaires.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export LOCATION="us-central1"
gcloud services enable dataplex.googleapis.com \
bigquery.googleapis.com \
datacatalog.googleapis.com
Créer un ensemble de données BigQuery et préparer des exemples de données
Nous avons besoin d'un élément de données concret à gouverner. Nous allons créer un ensemble de données BigQuery et charger un petit exemple de fichier CSV représentant des transactions. Dataplex détectera automatiquement cette table et créera une entrée pour celle-ci.
# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
--description "Retail data for governance codelab" \
$PROJECT_ID:retail_data
# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv
# Load the data from the temporary CSV file into BigQuery
bq load \
--source_format=CSV \
--autodetect \
retail_data.transactions \
/tmp/transactions.csv
# (Optional) Clean up the temporary file
rm /tmp/transactions.csv
Vérifiez la configuration en exécutant une requête rapide :
bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"
3. Établir un langage commun avec un glossaire d'entreprise
Une gouvernance efficace commence par des définitions non ambiguës. Si un développeur voit une colonne nommée gmv, il ne devrait pas avoir à deviner si elle inclut les taxes ou les retours. Un glossaire d'entreprise résout ce problème en dissociant la définition métier de l'implémentation technique.
- Dans la console Google Cloud, accédez à Dataplex Universal Catalog.
- Dans le menu de navigation de gauche, sélectionnez Glossaires (sous "Gérer les métadonnées").

- Cliquez sur Créer un glossaire d'entreprise.
- Saisissez les informations suivantes :
- Nom :
Retail Business Glossary - Emplacement :
us-central1(ou l'emplacement que vous avez défini lors de la configuration).
- Nom :
- Cliquez sur Créer.

- Cliquez sur le Glossaire des termes commerciaux pour le secteur de la vente au détail que vous venez de créer pour y accéder.

- Cliquez sur Créer une catégorie, nommez-la
Sales Metrics, puis cliquez sur Créer. Les catégories permettent de regrouper des termes associés. - Sélectionnez la catégorie
Sales Metrics, cliquez sur Ajouter un terme, nommez-leGross Merchandise Value, puis cliquez sur Créer. - Cliquez sur le bouton "+ Ajouter" dans "Vue d'ensemble", puis saisissez les informations suivantes :
- Présentation :
The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.
- Présentation :
- Cliquez sur Enregistrer.

Vous avez maintenant établi une définition claire qui peut être associée à des ressources techniques dans toute votre organisation.
4. Définir des métadonnées techniques structurées avec un type d'aspect
Les tags simples "clé:valeur" ne suffisent pas pour assurer la rigueur technique. Si vous devez suivre les "propriétaires de données", vous ne voulez pas qu'une table soit taguée owner:bob et une autre contact:alice@example.com. Vous avez besoin d'un schéma pour appliquer l'obligation d'un propriétaire et s'assurer qu'il s'agit d'un format d'adresse e-mail valide.
Nous utiliserons un type d'aspect pour définir ce contrat.
- Dans le menu de navigation de gauche de Dataplex, sous Catalogue, sélectionnez Types d'aspects et modèles de tags.
- Sélectionnez l'onglet Personnalisé, puis cliquez sur Créer un type d'aspect.

- Saisissez les informations suivantes :
- Display name (Nom à afficher) :
Data Asset Governance - Adresse :
us-central1
- Display name (Nom à afficher) :
- Dans la section Template (Modèle), nous allons définir le schéma de notre
Aspect. Cliquez sur Ajouter un champ pour créer les trois champs suivants :- Champ 1
- Display name (Nom à afficher) :
Data Steward - Type :
Text - Type de texte :
Plain text - Cardinalité : obligatoire (cochez la case)
- Display name (Nom à afficher) :
- Champ 2 (cliquez à nouveau sur Ajouter un champ) :
- Display name (Nom à afficher) :
Data Sensitivity - Type :
Enum - Valeurs : ajoutez
Public,InternaletConfidential. - Cardinalité : facultatif
- Display name (Nom à afficher) :
- Champ 3 (cliquez à nouveau sur Ajouter un champ) :
- Display name (Nom à afficher) :
Last Review Date - Type :
Date and time - Cardinalité : facultatif
- Display name (Nom à afficher) :
- Champ 1
- Cliquez sur Enregistrer.

Vous venez de créer un contrat de métadonnées réutilisable. Rien ne l'utilise encore, mais la structure existe.
5. Associer la gouvernance au composant
Nous allons maintenant tout rassembler. Nous disposons d'une table BigQuery (retail_data.transactions), d'une définition métier (Gross Merchandise Value) et d'un schéma de gouvernance ((Data Asset Governance).
Nous allons enrichir l'entrée Dataplex pour la table BigQuery.
Enrichir le schéma avec le contexte métier (au niveau des colonnes)
Expliquons aux utilisateurs ce que signifie réellement la colonne gmv en la reliant au glossaire.
- Dans le panneau de navigation de gauche de Dataplex, cliquez sur Rechercher.
- En haut à droite, cliquez sur l'onglet Dataplex Universal Catalog s'il n'est pas activé.

- Recherchez
retail_data.transactions. Cliquez sur le résultat correspondant à la table BigQuery.

- Cliquez sur l'onglet Schéma dans les détails de l'entrée.
- Cochez la case de la ligne de la colonne
gmv, puis cliquez sur Ajouter un terme commercial. - Sélectionnez la durée
Gross Merchandise Value.

La colonne gmv n'est plus seulement un "FLOAT". Elle est désormais associée à la définition d'entreprise Gross Merchandise Value.
Enrichir l'entrée avec des métadonnées techniques structurées (au niveau du tableau)
Ensuite, nous allons associer l'aspect Data Asset Governance au tableau pour définir la propriété et la sensibilité.
- Restez sur la page d'entrée
retail_data.transactions. - Cliquez sur l'onglet Ajouter un tag ou un aspect, puis sélectionnez le type
Data Asset Governancedans le menu déroulant.

- Le formulaire affiche désormais les champs définis dans le schéma de votre type d'aspect. Remplissez-les comme suit :
- Responsable des données :
finance-team@example.com - Sensibilité des données : sélectionnez
Internal. - Date de la dernière révision : sélectionnez la date du jour.
- Responsable des données :
- Cliquez sur Enregistrer.

Vous avez bien associé un aspect structuré à l'entrée. Contrairement à un simple tag, ces données sont validées par rapport au schéma que vous avez créé.
6. Découverte et validation unifiées
Nous n'avons pas fait tout ce travail juste pour remplir des formulaires. Nous l'avons fait pour rendre les données visibles et fiables. Voyons comment ces métadonnées modifient l'expérience des développeurs pour la recherche et la découverte.
Revenez à la page Rechercher principale de Dataplex Universal Catalog.
Imaginez que vous êtes un ingénieur de plate-forme chargé d'appliquer la gouvernance. Vous devez trouver tous les composants marqués comme "Internes" qui sont régis par votre type d'aspect spécifique. Vous devez utiliser des prédicats précis en fonction de votre schéma.
Vous pouvez le vérifier de deux manières : en utilisant une syntaxe de requête précise (essentielle pour l'automatisation) ou en utilisant des filtres d'UI interactifs.
Méthode 1 : Valider à l'aide d'une requête structurée
- Dans la barre de recherche (en mode de recherche Mot clé), saisissez la requête structurée suivante.
aspect:data-asset-governance.data-sensitivity=Internal
- Votre tableau
retail_data.transactionsdevrait s'afficher.

Méthode 2 : Valider via les facettes de filtre de l'UI
- Effacez le contenu de la barre de recherche pour réinitialiser la vue.
- Consultez le panneau Filtrer par propriétés sur le côté gauche de l'écran.
- Faites défiler la page vers le bas et développez la section Gouvernance des assets de données (qui représente le type d'aspect que vous avez créé).
- Sous Sensibilité des données, cochez la case
Internal. - Les résultats de recherche sont mis à jour pour afficher le tableau
retail_data.transactions.

Que vous utilisiez la requête saisie ou les filtres de l'interface utilisateur, le mécanisme sous-jacent est le même.
Cela illustre la différence fondamentale entre Dataplex et un simple wiki : vos métadonnées sont une structure interrogeable. Vous pouvez désormais créer des audits automatisés (par exemple, "Trouve toutes les tables où last_review_date est > 1 an") en s'appuyant sur cette structure prévisible.
7. Nettoyer votre environnement
Pour éviter que des frais ne vous soient facturés en permanence, supprimez les ressources créées dans cet atelier de programmation.
Supprimer l'ensemble de données BigQuery
Cette commande est irréversible et utilise l'indicateur -f (force) pour supprimer l'ensemble de données et toutes ses tables sans confirmation.
# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)
# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data
Supprimer les artefacts Dataplex
- Accédez à Interface utilisateur Dataplex Universal Catalog > Gérer les métadonnées > Catalogue.
- Dans Types d'aspects et modèles de balises, sélectionnez le type d'aspect data_asset_governance, puis supprimez-le.
- Accédez à Gérer les métadonnées > Glossaires, sélectionnez
Retail Business Glossary, puis supprimez-le. Veillez à supprimer d'abord le termeGross Merchandise Value, puis le glossaire.
8. Félicitations !
Vous avez dépassé le simple taggage de données et établi un modèle de gouvernance structuré et fondamental dans Dataplex.
Vous avez appris que :
- Les glossaires permettent de lever toute ambiguïté concernant les termes métier.
- Les types d'aspects fournissent le contrat de schéma pour les métadonnées techniques.
- Les aspects appliquent ce schéma aux entrées de données réelles.
- La recherche Dataplex utilise ces métadonnées structurées pour une découverte précise.
Et ensuite ?
- Gouvernance en tant que code : utilisez le fournisseur Google Cloud Terraform pour définir vos types d'aspect et vos glossaires dans le contrôle de version. Vous garantissez ainsi des schémas cohérents dans les environnements de développement, de test et de production.
- Tagging automatique : écrivez une fonction Cloud Functions ou une étape Cloud Build déclenchée par la création d'un ensemble de données qui associe automatiquement votre aspect "Gouvernance des assets de données" avec des valeurs par défaut (par exemple,
sensitivity=Internal, steward=TBD), ce qui le signale pour examen.