AccueilBlogTest technique implémentation d un data catalog : DataHub, OpenMetadata
Guide recrutement data

Test technique implémentation d un data catalog : DataHub, OpenMetadata

Déployer un data catalog est un projet qui dure 6 mois si mal planifié. En entretien, on évalue la capacité à choisir le bon outil, à l intégrer avec la stack existante et à faire adopter le catalog par les équipes.

Data Builder·Juin 2025·6 min de lecture·Analytics Engineer · Data Architect
Sommaire
  1. Choisir son catalog
  2. DataHub : architecture
  3. OpenMetadata : alternative
  4. Ingestion des métadonnées
  5. Faire adopter le catalog
  6. Lineage automatique
  7. Grille

1Choisir entre DataHub, OpenMetadata, Collibra

Question discriminante

Comment choisissez-vous votre data catalog ?

OutilTypeForcesIdéal pour
DataHubOpen source (LinkedIn)Mature, lineage, APIs GraphQL, riche écosystèmeÉquipes techniques, stack diversifiée
OpenMetadataOpen sourceUI moderne, data quality intégrée, data contractsÉquipes qui veulent tout-en-un
CollibraEnterprise SaaSGouvernance avancée, stewardship, conformitéGrandes entreprises réglementées
AtlanSaaSUX excellente, intégrations facilesÉquipes qui veulent démarrer vite

2DataHub : architecture et déploiement

Question discriminante

Comment est architecturé DataHub ? Comment le déployez-vous ?

## Déploiement DataHub avec Docker Compose (dev) datahub docker quickstart # Démarre : GMS (Graph Metadata Service), Frontend, Kafka, Elasticsearch ## Production : Helm sur Kubernetes helm repo add datahub https://helm.datahubproject.io/ helm install datahub datahub/datahub \ --values datahub-values.yaml ## Ingestion depuis dbt # datahub-dbt.yaml source: type: dbt config: manifest_path: ./target/manifest.json catalog_path: ./target/catalog.json target_platform: snowflake enable_meta_mapping: true sink: type: datahub-rest config: server: http://datahub-gms:8080 # Lancer l ingestion datahub ingest -c datahub-dbt.yaml

3OpenMetadata : les différences clés

Question discriminante

Quelles sont les fonctionnalités qui différencient OpenMetadata de DataHub ?

  • Data Quality intégrée — tests de qualité configurables directement dans l interface, sans Great Expectations séparé
  • Data Contracts — définir et enforcer des contrats directement dans le catalog
  • Collaboration — commentaires, @mentions, tâches sur les assets. Comme Notion pour la data
  • Profiling automatique — DataHub nécessite un ingestion connector séparé pour le profiling. OpenMetadata l intègre

4Ingestion automatique des métadonnées

Question discriminante

Comment configurez-vous l ingestion automatique depuis Snowflake, dbt et Airflow ?

## DataHub : ingestion Snowflake source: type: snowflake config: account_id: mon_compte username: datahub_user password: ${SNOWFLAKE_PASSWORD} database: PROD_DB warehouse: REPORTING_WH profiling: enabled: true # profilage des tables profile_table_level_only: false ## Ingestion Airflow (lineage des DAGs) source: type: airflow config: connection: conn_type: airflow dag_directory: /opt/airflow/dags ## Schedule : ingérer quotidiennement schedule: interval: '@daily' timezone: 'Europe/Paris'

5Faire adopter le catalog par les équipes

Question discriminante

Quelles sont les stratégies pour que les équipes utilisent vraiment le catalog ?

  • Problème à résoudre — ne pas déployer le catalog pour la gouvernance. Le déployer parce qu il résout le problème 'je ne sais pas d où vient cette donnée'
  • Quick wins — documenter les 10 tables les plus utilisées en semaine 1. Visibilité immédiate
  • Integration dans le workflow — lier le catalog dans les PRs dbt, dans les tickets, dans les dashboards
  • Data Stewards — désigner des responsables par domaine, pas attendre que tout le monde documente spontanément
  • Mesurer l adoption — traquer les vues, les recherches, les descriptions ajoutées. Ce qui se mesure s améliore

6Lineage automatique : les intégrations clés

Question discriminante

Quelles intégrations configurez-vous en priorité pour le lineage ?

  • dbt → DataHub — lineage complet des modèles, colonne par colonne. Premier à configurer
  • Airflow → DataHub — lineage des pipelines ETL. Quels DAGs alimentent quelles tables
  • Snowflake/BigQuery → DataHub — lineage des requêtes SQL en production. Capturé via Query History
  • Looker/Power BI → DataHub — quels dashboards consomment quelles tables. Lineage jusqu aux consommateurs finaux
  • Résultat — lineage complet source → ingestion → transformation dbt → warehouse → dashboard
# DataHub ingestion YAML (BigQuery + dbt lineage) source: type: dbt config: manifest_path: /dbt/target/manifest.json catalog_path: /dbt/target/catalog.json target_platform: bigquery include_column_lineage: true sink: type: datahub-rest config: server: http://datahub-gms:8080 # Ingestion BigQuery source: type: bigquery config: project_id: mon-projet-gcp include_table_lineage: true include_usage_statistics: true # qui consomme quelle table
  • DataHub vs OpenMetadata vs Collibra — DataHub (LinkedIn, open source) : API-first, Kubernetes, extensible. OpenMetadata : UX soignée, déploiement simple. Collibra : enterprise, gouvernance avancée, prix élevé
  • Adoption progressive — commencer par les 20 tables les plus consommées. Un catalog complet mais non maintenu vaut moins qu'un petit catalog bien curé
  • Data Owners obligatoires — sans propriétaire défini par domaine, les métadonnées se dégradent en 6 mois. Processus d'attribution dès le lancement
  • Intégration dbt — les modèles dbt génèrent automatiquement descriptions, tests et lineage. Source principale de métadonnées pour les équipes dbt-first
  • Lineage automatique — DataHub et OpenMetadata peuvent extraire le lineage depuis Airflow, Spark, dbt et SQL pour tracer les dépendances end-to-end
# DataHub ingestion multi-sources source: type: dbt config: manifest_path: /dbt/target/manifest.json catalog_path: /dbt/target/catalog.json target_platform: snowflake include_column_lineage: true sink: type: datahub-rest config: server: http://datahub-gms:8080 --- source: type: bigquery config: project_id: mon-projet-gcp include_table_lineage: true include_usage_statistics: true sink: type: datahub-rest config: server: http://datahub-gms:8080
  • DataHub vs OpenMetadata vs Collibra - DataHub (LinkedIn OSS) : API-first, Kubernetes, tres extensible. OpenMetadata : UX moderne, simple a deployer. Collibra : enterprise, prix eleve
  • Adoption en 3 phases - Phase 1 : cataloguer les 20 tables les plus consommees avec owners. Phase 2 : lineage automatique dbt + Airflow. Phase 3 : search semantique
  • Data Owners obligatoires - sans proprietaire par domaine, les metadonnees se degradent en 6 mois. Attribution lors du lancement
  • Lineage automatique - DataHub extrait le lineage depuis dbt, Airflow, Spark et SQL. Tracer les dependances end-to-end sans effort manuel
  • ROI mesurable - temps pour trouver la bonne table (avant : 30min, apres : 30s), requetes par semaine sur le catalog, reduction des questions Slack

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméA utilisé un catalog, sait ce que le lineage apporteA configuré l ingestion dbt → DataHub, utilise le catalog pour l impact analysisNe sait pas ce qu est un data catalog
SeniorDéploiement DataHub/OpenMetadata, stratégie d adoption, lineage multi-sourcesA déployé un catalog en production, a défini une stratégie d adoptionNe peut pas expliquer comment faire adopter un catalog par les équipes

Vous recrutez un Analytics Engineer ou Data Architect ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.