Dataflow: El Pipeline Infinito (Pub/Sub a BigQuery) | Curso Dataflow GCP

Dataflow: El Pipeline Infinito (Pub/Sub a BigQuery)

Autor: Eduardo Martínez Agrelo

Hasta ahora, nuestros pipelines de Dataflow leían archivos estáticos, procesaban y terminaban. En el mundo del Streaming, un pipeline nunca muere. En este laboratorio, conectaremos nuestro Dataflow a Pub/Sub (el sistema de mensajería de Google Cloud) para procesar eventos en el mismo instante en que ocurren.

El flag streaming = True

La transición de Batch a Streaming en Apache Beam es sorprendentemente elegante en términos de código. La clave reside en los parámetros de ejecución:

  • ReadFromPubSub: Sustituimos la lectura de archivos por una suscripción a un tema de Pub/Sub.
  • StandardOptions: Activamos options.view_as(StandardOptions).streaming = True. Esto le indica a Dataflow que no debe ejecutar una tarea puntual, sino aprovisionar servidores que se queden escuchando eventos 24/7.

Streaming Inserts en BigQuery

Para visualizar los datos en tiempo real, no podemos esperar a cargar archivos (Batch). Usamos STREAMING_INSERTS:

  • Inmediatez: Los datos llegan a BigQuery en milisegundos tras ser procesados por Dataflow.
  • Consultabilidad: Puedes ejecutar una consulta SELECT COUNT(*) en BigQuery y ver cómo el número aumenta ante tus ojos conforme llegan nuevos eventos de telemetría.

Implementación práctica

Desplegaremos nuestro pipeline en modo streaming. Verás cómo, al ejecutar nuestro script generador de telemetría, Dataflow detecta los eventos, los procesa y los inyecta en nuestra tabla de BigQuery. Observarás en la consola de Dataflow la característica "rueda girando" que indica que tu pipeline está vivo, escuchando y transformando datos sin interrupción.

Conclusión: Arquitecturas modernas

Has cruzado la línea: ya no eres un ingeniero que procesa datos históricos, ahora eres capaz de construir sistemas que reaccionan al presente. Esta capacidad de procesar flujos de eventos es lo que mantiene activas a las grandes plataformas tecnológicas. Pero cuidado: en streaming, el tiempo se vuelve complejo. En el próximo laboratorio aprenderemos a manejarlo con Windowing.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!