Publié le 1 octobre 2026 à 11:00 · Publication originale
Le modèle est identique.
Son code aussi.
La différence vient d'une donnée.
Le revenu disponible utilisé par le modèle provient d'une table analytique. Cette table combine le CRM, les transactions et plusieurs transformations. Une colonne intermédiaire a changé de définition trois semaines auparavant.
Retrouver cette transformation exige davantage qu'un catalogue de données.
Il faut connaître leur lignée.
OpenLineage est un standard ouvert conçu pour représenter ce parcours.
Lorsqu'un traitement s'exécute, il peut produire un événement décrivant le "job", son exécution, les jeux de données consommés et ceux qu'il produit.
Plusieurs traitements successifs construisent progressivement un graphe.
Une table finale peut ainsi être reliée au calcul qui l'a créée, puis aux tables précédentes jusqu'aux systèmes sources.
La granularité peut descendre jusqu'aux colonnes.
OpenLineage sait représenter qu'un champ de sortie provient directement d'une colonne, qu'il résulte d'une transformation ou d'une agrégation, mais aussi qu'une autre colonne a servi indirectement à filtrer, joindre ou trier les données.
Cette dernière propriété est importante.
Une colonne peut modifier le résultat sans jamais apparaître dans le résultat.
Une règle `WHERE` supprimant certains clients influence le jeu de données final même si la variable utilisée pour les exclure n'est jamais transmise au modèle.
La provenance ne consiste donc pas seulement à demander "d'où vient cette valeur?".
Elle peut reconstruire quelles opérations ont participé à l'existence même de cette valeur.
Pour un système d'IA, cette généalogie relie progressivement modèle, données et transformations.
Lorsqu'une décision devient contestée, le chemin qui l'a produite peut compter autant que son résultat.
ULTRA®
La lignée peut elle-même être fausse.
Un traitement qui lit deux tables et produit deux sorties ne signifie pas nécessairement que chaque sortie dépend des deux entrées.
Déduire automatiquement toutes les relations crée alors des dépendances fictives.
La spécification actuelle d'OpenLineage permet de décrire explicitement les relations exactes entre jeux de données, traitements et champs afin d'éviter ce produit cartésien artificiel.
Elle distingue aussi les transformations directes des dépendances indirectes comme JOIN, FILTER, SORT ou GROUP_BY.
Conseil: tester la lignée sur une décision connue en remontant jusqu'aux données sources, plutôt que vérifier seulement que des événements sont collectés.
Un graphe spectaculaire mais rempli de dépendances supposées peut donner davantage de confiance tout en réduisant la précision de l'audit.
La traçabilité possède donc elle aussi une qualité mesurable: celle de ses propres preuves.