Criteo fait appel au data lineage

Table des matières

Le cluster Hadoop de Criteo se renforce avec un système de data lineage, dont la démarche s’appuie sur différentes techniques. Ce nouvel outil permet de faciliter certaines tâches comme la réception d’alertes de performances, l’analyse d’impact… Il s’appuie sur différents éléments tels que Garmadon, Kafka, ou encore le moteur SQL Presto/Trino, etc.

Criteo a lancé son système de gestion de la traçabilité des données (data lineage). Il sert notamment à réparer des datasets altérés par des incidents ou à automatiser l’assemblage des problèmes de data quality. Mais l’entreprise l’utilise aussi dans un moteur de recherche interne, afin d’influer sur le positionnement des résultats. Le nombre de dépendances transitives dont un asset dispose détermine ainsi son importance.

Le dispositif est conçu autour d’un cluster Hadoop de 3000 appareils sauvegardant 180 Po. Un data lake sur lequel s’opèrent la majorité des traitements hors lignes. Orchestrées par les outils maison BigDataflow et Cuttle, des requêtes Hive et des jobs Spark y sont essentiellement exécutés.

Le suivi des données est réalisé sur plusieurs strates

Criteo repose sur différentes techniques bien connues de nombreux consultant informatique, afin d’appuyer sa démarche data lineage. L’on citera l’incorporation des aptitudes de traçabilité à certains systèmes, l’approche source-as-code ou l’exploitation du code source précisant les transformations… Sans oublier l’exploitation des journaux d’exécution des services de la plateforme de données (logs-as-source), ou encore :

  • La recherche de patterns particuliers à l’intérieur des métadonnées des assets ;
  • L’indication manuelle des liens entre la source de données et la destination. Cette tâche est confiée dans la plupart des cas aux stewards ou aux owners.

Criteo tire la majorité des informations brutes déversées dans son système de data lineage de Kafka. Ces données, réparties dans plusieurs groupes, sont transmises par un système centralisé. À l’issue des changements, les informations sont soit envoyées vers Vertica soit consommées par les usagers avec Presto/Trino. Quelques agrégats soutiennent un déploiement Tableau.

La majorité des entrées et sorties du cluster est fondée sur des systèmes centralisés. Les données de traçabilité peuvent de ce fait être exposées sur leur interface de programmation d’application. Parfois, il est possible d’analyser le coder et l’assimiler à l’intégration continue (CI) pour la phase de validation.

L’étape la plus difficile porte sur le suivi des transformations se produisant dans l’agrégat. Afin de la mener à bien, de nombreuses couches de data lineage sont utilisées dans le processus.

Plusieurs cas d’usage sont possibles

Sur les moteurs SQL à l’instar de Presto/Trino ou Hive, l’information peut être exposée grâce au parser. Criteo a configuré des crochets servant à conserver le contexte d’accomplissement des requêtes au sein d’un topic Kafka. Ce dernier est ensuite transféré au pipeline global. Les transformations gérées par Bigdataflow s’effectuent également au niveau de Kafka.

Pour le reste, Criteo s’appuie sur le service de collecte d’événements Garmadon. Un outil qui surveille les interactions avec le système de fichiers sous-jacent.

L’entreprise de reciblage publicitaire en ligne applique son système de traçabilité de données à plusieurs niveaux. Ceux-ci portent sur les colonnes, les partitions et les tables. En réalité, ces derniers contiennent aussi les assets non adossés à des rapports Power BI et/ou à des tables).

Le data lineage appuie notamment l’enrichissement de métadonnées, la conformité (suivi des informations personnellement identifiables, audit). Il aide également un consultant informatique, ou tout autre utilisateur dans la recherche de cause racine, l’étude d’impact… La traçabilité est présentée, d’une part, par le biais d’une application web Datadoc assortie de fonctions d’observabilité et de catalogue. D’autre part, elle est affichée à l’aide d’un ensemble de sets de données.

Le processus s’effectue dans un pipeline plus global de recueil et d’examen d’informations d’usage. Ceci à l’échelle de la plateforme de données de Criteo. Datadoc présente de ce fait aussi des éléments liés aux applications, tâches et requêtes provoquant des changements.

Cet article vous a-t-il été utile ?

Note moyenne 0 / 5. Nombre de votes 0

Actualité du portage salarial