Transforma Flink: Trayectoria de Grab en Análisis de Datos en Tiempo Real

Transforma Flink: Trayectoria de Grab en Análisis de Datos en Tiempo Real - Marketplace Insights - Imagen generada por IA

Transformación de Datos en Tiempo Real: El Caso de Grab con Apache Flink

En un mundo impulsado por datos, la velocidad de obtención de información se ha convertido en una ventaja competitiva fundamental. Para una empresa del tamaño de Grab, la mayor super-app del sudeste asiático, esta no es solo una meta, sino una necesidad. Con millones de transacciones generando un torrente de datos cada minuto, la presión sobre la plataforma de datos interna de Grab es inmensa. Esta plataforma debe gestionar más de 600 pipelines de datos funcionando sobre más de 200 streams de Kafka, lo que plantea un desafío evidente: ¿cómo transformar estos datos crudos en información oportuna, precisa y accionable para todos, desde científicos de datos hasta analistas de negocios?

El Desafío: Superar Informes Lentos y Cuellos de Botella

Uno de los servicios clave de Grab es proporcionar a los comerciantes —como los dueños de restaurantes que utilizan GrabFood— herramientas para gestionar sus negocios. Esto incluye una plataforma publicitaria donde pueden lanzar campañas para atraer más clientes. Para tener éxito, estos comerciantes necesitan entender el rendimiento de sus campañas en casi tiempo real. Sin embargo, su pipeline de informes inicial se basaba en un lago de datos, lo que introducía un retraso de tres a cuatro horas. Esta demora generaba problemas significativos:

  • Para los Comerciantes: No podían reaccionar rápidamente al rendimiento de las campañas. Un anuncio que no rendía bien podía desperdiciar dinero durante horas antes de que tuvieran los datos para hacer ajustes.
  • Para los Anunciantes de Grab: Tenían dificultades para optimizar campañas de manera efectiva en nombre de los comerciantes.
  • Para los Ingenieros: Crear cada nuevo informe requería escribir y desplegar un complejo trabajo de Flink que involucraba múltiples temas de Kafka, agregaciones y filtros, creando un cuello de botella significativo que frustraba a los equipos internos que necesitaban información rápidamente.

La Solución: Una Plataforma Basada en SQL de «Configurar y Olvidar»

Para resolver este problema, Grab construyó una plataforma de análisis autoservicio con una filosofía simple pero poderosa. Al preguntar «¿quién es nuestro usuario que puede usar nuestra plataforma?», la respuesta incluía tanto a científicos de datos como a usuarios de negocios, llevándolos a una conclusión clave: «todos en Grab saben SQL», y solo necesitaban elegir la plataforma adecuada—Apache Flink—para proporcionar una herramienta de autoservicio que «todos puedan usar». Al abstraer la complejidad subyacente del procesamiento de streams, podían permitir a una audiencia más amplia construir sus propios pipelines de datos en tiempo real.

El flujo de trabajo de la plataforma es elegantemente simple:

  • Escribir SQL: Un usuario, ya sea un analista de negocios o un científico de datos, escribe una consulta SQL que define su lógica de negocio.
  • Desplegar: Envía la consulta a través de la interfaz de usuario de la plataforma.
  • Olvidar: La plataforma se encarga, compilando automáticamente el SQL, desplegándolo como un trabajo de Flink y gestionando su ciclo de vida, escalado y estado.

Este modelo de «configurar y olvidar» elimina la dependencia del equipo de ingeniería para crear informes, liberándolos para centrarse en mejorar la plataforma misma.

El Caso de Uso en Acción: Informes de Campañas Comerciales en Tiempo Real

Con la nueva plataforma, el sistema de informes para comerciantes se transformó. Ahora, comerciantes y anunciantes tienen acceso a paneles con métricas como gastos en publicidad, impresiones y clics, todos actualizados en tiempo real. Esto les permite:

  • Ver instantáneamente cómo está rindiendo una campaña.
  • Tomar decisiones inmediatas para optimizar el gasto en publicidad.
  • Reaccionar a la dinámica del mercado a medida que sucede.

El Problema de Rendimiento

El problema central era la latencia: los procesos ETL retrasaban métricas críticas entre 3 y 4 horas, impactando severamente en las decisiones de negocio. «Si un vendedor de comida mira la app cuatro horas después y dice, ‘¿por qué no tengo ventas aunque estoy corriendo campañas?’ — no se siente bien», ilustra Tran.

Desafíos de Respuesta a Incidentes

Cuando se necesitaban ajustes en los cálculos de métricas, las operaciones de backfill podían tardar:

  • 1-2 días para volúmenes de datos moderados.
  • Hasta una semana para correcciones históricas exhaustivas.

Esta demora frustraba a los comerciantes y dificultaba los esfuerzos de optimización de campañas.

La Solución Potenciada por Flink

Grab implementó una capa de informes rápida utilizando Flink, transformando la latencia de los informes de horas a milisegundos. La arquitectura incluye:

  • Pipelines de Flink en tiempo real para el cálculo instantáneo de métricas.
  • Capa de reconciliación de datos con tablas doradas para verificación de precisión.
  • Plataforma autoservicio que permite a los usuarios de negocios crear informes personalizados.

La Complejidad Detrás de la Simplicidad

Mientras que los informes pueden parecer sencillos, la lógica subyacente puede ser altamente compleja:

  • Caso simple: Un solo tema de Kafka con agregación básica.
  • Complejidad moderada: Múltiples temas con agregaciones filtradas.
  • Escenarios avanzados: Uniones entre temas con reglas de negocio complejas.

«Todo la lógica proviene del usuario,» enfatiza Tran. «Sin conocimiento de SQL, los usuarios no podrían crear estos informes, y no podríamos manejar todas las solicitudes manualmente.»

Stream Guard – Monitoreo de Calidad de Datos en Tiempo Real

Los datos en tiempo real solo son útiles si son correctos. A medida que la plataforma de Grab empoderaba a más usuarios para construir pipelines en tiempo real, surgió una nueva pregunta: ¿cómo podemos garantizar la precisión y calidad de los datos que fluyen a través de estos sistemas?

La Siguiente Frontera: Los Tres Desafíos de la Calidad de Datos

Yuanzhe Liu identificó tres desafíos centrales en el monitoreo de la calidad de datos en streaming:

  • Corrección Semántica: Distinguir entre la corrección de esquema y la corrección semántica.
  • Oportunidad: El ciclo lento y reactivo de detección y resolución de problemas.
  • Observabilidad y Análisis de Causa Raíz: La dificultad de identificar rápidamente la causa de un problema de calidad de datos.

La Arquitectura: Una Solución de Contrato de Datos Potenciada por Flink

Para abordar estos desafíos, Grab desarrolló un sofisticado sistema de monitoreo de calidad de datos en tiempo real basado en el concepto de Contratos de Datos. Un contrato de datos es un acuerdo formal, definido como código, que especifica las reglas semánticas y las expectativas de calidad para un flujo de datos.

Conclusiones Clave para la Plataforma de Datos de Grab

El viaje de Grab ofrece un poderoso modelo para cualquier organización que busque construir un ecosistema de análisis en tiempo real robusto y fácil de usar con Apache Flink. Los principios clave son:

  • Abstraer Complejidad con SQL: Democratizar el procesamiento de streams al proporcionar una interfaz basada en SQL.
  • Automatizar la Validación con Contratos de Datos: Pasar de la calidad de datos reactiva a proactiva.
  • Priorizar la Observabilidad Accionable: Proporcionar a los desarrolladores tableros contextualizados que les permitan diagnosticar y resolver problemas rápidamente.

Al combinar la potente capacidad de Apache Flink con un diseño de plataforma reflexivo, Grab ha transformado con éxito sus enormes flujos de datos de un desafío complejo en una fuente de información clara, confiable y accionable.

Fuente: https://www.alibabacloud.com/blog/from-data-streams-to-actionable-insights-grabs-journey-with-apache-flink-in-real-time-analytics-and-data-quality_602517

Nota: Este contenido original ha sido modificado con IA y revisado por un especialista. Imagen generada por IA.

Deja una respuesta