Cómo gestiona Criteo la trazabilidad de sus datos

Criteo ha establecido un sistema de linaje de datos alrededor de su clúster Hadoop. ¿En qué técnicas se basa?

¿ Qué hacer con un sistema de gestión de trazabilidad de datos ( linaje de datos )? Por ejemplo, automatice la agrupación de problemas de calidad de datos o la reparación de conjuntos de datos afectados por incidentes.

En cualquier caso, Criteo está explorando estas dos vías ahora que ha implementado su propio sistema. Esto funciona en diferentes niveles: tablas (que, en la práctica, también incluyen activos no respaldados por tablas y/o informes de Power BI), particiones y columnas.

Esta trazabilidad respalda, entre otros casos de uso, el análisis de impacto, la investigación de la causa raíz, el cumplimiento (auditoría, seguimiento de PII) y el enriquecimiento de metadatos. Se expone, por un lado, a través de una serie de conjuntos de datos . Por otro, a través de una aplicación web Datadoc que incluye funcionalidades de catálogo y observabilidad.

El proceso es parte de un proceso más global para recopilar y analizar datos de uso en toda la plataforma de datos Criteo . Datadoc también expone elementos relacionados con consultas, tareas y aplicaciones que resultan en transformaciones.

Para respaldar su enfoque de linaje de datos , Criteo utiliza varias técnicas, que incluyen:

– Complete manualmente las relaciones fuente-destino (esto generalmente lo hacen los propietarios o administradores )
– Busque patrones específicos en los metadatos de los activos
– Utilice los registros de ejecución de los servicios de la plataforma de datos ( logs-as-source )
– Explote el código fuente especificar las transformaciones ( fuente como código )
: integrar capacidades de trazabilidad en ciertos sistemas

Monitoreo multicapa dentro del cluster Hadoop

En Criteo, la mayor parte del procesamiento fuera de línea ocurre en el lago de datos , un clúster Hadoop de 3000 máquinas que almacenan 180 PB. Allí se ejecutan principalmente los trabajos Spark y las consultas Hive. Todo orquestado por dos herramientas internas (Cuttle, BigDataflow).

La mayoría de los datos brutos ingeridos provienen de Kafka: un sistema centralizado los transmite en lotes. Una vez completadas las transformaciones, los usuarios consumen los datos con Presto/Trino. O se exportan a Vertica. Algunos clústeres impulsan una implementación de Tableau.

La mayoría de las entradas y salidas del clúster dependen de sistemas centralizados. Esto permite que la información de trazabilidad quede expuesta en su API. En algunos casos, podemos revisar el código e integrarlo con el CI para el paso de validación.

La parte más compleja es rastrear las transformaciones que tienen lugar en el clúster. Para este propósito se utilizan varias capas de linaje de datos .

En motores SQL como Hive y Presto/Trino, el analizador le permite exponer la información. Criteo ha configurado ganchos que almacenan el contexto de ejecución de la consulta en un tema de Kafka y luego lo transmiten al canal global. También utilizamos Kafka para las transformaciones orquestadas por Bigdataflow.
Por lo demás, utilizamos Garmadon, un servicio de recopilación de eventos que rastrea las interacciones con el sistema de archivos subyacente.

Técnicas de linaje de datos de Criteo

Enriquecimiento y deduplicación

Los datos que produce Garmadon solo muestran relaciones entre aplicaciones y rutas sin procesar. Por tanto, requieren un enriquecimiento semántico. Para ello realizamos dos tareas:

– Fusionar las aplicaciones involucradas en una misma transformación lógica.
Este paso se basa esencialmente en técnicas de detección de patrones. Garmadon también le permite inyectar en las aplicaciones etiquetas destinadas a vincular ejecuciones a unidades lógicas declaradas en los orquestadores.

– Asociar rutas sin procesar con la semántica ya disponible en el almacén de metadatos de Hive

Cuando se reúnen las fuentes de trazabilidad, se produce la deduplicación. Luego conservamos la fuente más cualitativa; por ejemplo, datos provenientes de ganchos en lugar de Garmadon. Por tanto, podemos realizar otras transformaciones para exponer los datos en formas más adecuadas a casos de uso específicos .

El linaje de datos se utiliza, en particular, en un motor de búsqueda interno, para influir en la clasificación de los resultados: cuantas más dependencias transitivas tenga un activo , probablemente más importante sea.
Datadoc también puede informar alertas de rendimiento basadas en información de SLO extraída de las definiciones de conjuntos de datos . Y proporcione a los usuarios información sobre la causa raíz. Fuente: NetMedia-Francia, traducido al español.

Comparte la nota:

Artículos relacionados

Scroll al inicio