APACHE FLINK: QUÉ ES Y CÓMO FUNCIONA

Apache Flink es un framework de código abierto para el procesamiento distribuido de datos en tiempo real (stream processing) y también por lotes (batch processing). Es uno de los sistemas más potentes y populares en el mundo del big data y treaming.
Apache Flink permite procesar grandes cantidades de datos en tiempo real, de forma muy rápida, fiable y escalable, incluso si los datos llegan de manera continua (por ejemplo: logs de servidores, transacciones bancarias, clics en una web, datos de sensores IoT, etc.).

Características principales de Apache Flink

  • Procesamiento en streaming real: Procesamiento verdadero de flujos de datos con latencia muy baja (milisegundos).
  • Exactly-once semantics; Garantiza que cada dato se procese exactamente una vez, incluso si hay fallos (muy importante para finanzas, por ejemplo).
  • Soporte para event time: Puede procesar datos según el momento en que ocurrieron (event time), no cuando llegaron al sistema (ideal para datos desordenados o retrasados).
  • Ventanas (windows): Se pueden hacer agregaciones por tiempo (cada 5 segundos, cada minuto, sesiones, etc.).
  • Procesamiento por lotes: Puede tratar trabajos por lotes como un caso especial de streaming (API unificada).
  • Tolerancia a fallos: Usa checkpoints y savepoints para recuperarse de fallos sin perder estado.
  • Stateful processing: Puede mantener estado (contadores, modelos ML, agregaciones) a gran escala.
  • Alta escalabilidad: Corre en clústeres de miles de nodos (usado por Alibaba, Netflix, Uber, etc.).