🚀 Procesamiento de Eventos en Tiempo Real con AWS Kinesis y Databricks
- 24 jun
- 3 min de lectura
📖 Introducción
Uno de los desafíos más interesantes al aprender procesamiento de datos en tiempo real es dar el salto desde escenarios basados en archivos hacia arquitecturas capaces de consumir y procesar eventos conforme estos son generados.
Con ese objetivo desarrollé este proyecto utilizando Amazon Kinesis Data Streams como fuente de eventos y Databricks Structured Streaming como motor de procesamiento.
A lo largo de la implementación se construyó un flujo completo de streaming capaz de:
⚡ Recibir eventos en tiempo real.
🔄 Procesarlos de forma incremental mediante PySpark.
📌 Gestionar el progreso de lectura utilizando checkpoints.
🪙 Persistir los resultados en Delta Lake.
Más allá de la implementación técnica, el objetivo principal fue comprender cómo interactúan los distintos componentes que participan en una arquitectura moderna orientada al procesamiento de eventos.
🎯 Objetivo
Comprender cómo implementar un flujo de procesamiento en tiempo real utilizando servicios cloud y tecnologías ampliamente utilizadas en plataformas de datos modernas.
Durante el desarrollo del proyecto se abordaron conceptos fundamentales como:
🌊 Ingesta de eventos en tiempo real.
🔄 Procesamiento incremental mediante microbatches.
🪙 Persistencia de información en Delta Lake.
📌 Gestión de estado mediante checkpoints.
📥 Consumo de Data Streams desde Databricks.
⚙️ Integración entre AWS Kinesis y Spark Structured Streaming.
🏗️ Arquitectura Implementada
La arquitectura desarrollada integra servicios de AWS y Databricks para construir un flujo completo de procesamiento streaming.
Componentes Utilizados
🌊 Amazon Kinesis Data Streams
🔐 Amazon Cognito
⚡ Kinesis Data Generator (KDG)
📥 Databricks Structured Streaming
🐍 PySpark
🪙 Delta Lake
📚 Unity Catalog
Flujo General
Kinesis Data Generator ↓ Amazon Kinesis Data Streams ↓ Databricks Structured Streaming ↓ Transformaciones con PySpark ↓ Delta Lake
A través de este flujo, los eventos son generados, enviados al Data Stream, consumidos por Databricks, transformados y finalmente almacenados en una Delta Table para su posterior análisis.
📚 Principales Aprendizajes
Uno de los aspectos más enriquecedores del proyecto fue comprender conceptos que normalmente permanecen ocultos cuando trabajamos únicamente con archivos CSV o JSON.
Durante el desarrollo se exploraron temas como:
🧩 Shards
🔢 Sequence Numbers
📌 Checkpoints
🔄 Microbatches
⚡ Spark Structured Streaming
🪙 Persistencia en Delta Lake
Asimismo, el proyecto permitió entender las diferencias entre procesar datos almacenados en archivos y trabajar con eventos generados continuamente dentro de una arquitectura de streaming real.
🔗 Documentación Completa
Toda la implementación, configuraciones realizadas, limitaciones encontradas y lecciones aprendidas se encuentran documentadas detalladamente dentro del repositorio del proyecto (Repositorio-Streaming).
Allí se incluye:
⚙️ Configuración de AWS.
🔐 Configuración de credenciales y acceso.
🌊 Implementación de Amazon Kinesis Data Streams.
📥 Consumo de eventos desde Databricks.
🔄 Transformaciones con PySpark.
🪙 Escritura sobre Delta Lake.
📌 Gestión de checkpoints y procesamiento incremental.
🚀 Conclusión
Este proyecto representó un paso importante para comprender cómo funcionan los sistemas modernos de procesamiento de eventos más allá de los ejemplos tradicionales basados únicamente en archivos. Más que consumir eventos desde Amazon Kinesis, el aprendizaje principal consistió en entender el ciclo completo que sigue la información dentro de una arquitectura de streaming:
Generación ↓ Ingesta ↓ Procesamiento ↓ Persistencia
Lo más valioso de la experiencia fue trabajar con una fuente de eventos real, permitiendo explorar conceptos que habitualmente forman parte de plataformas empresariales orientadas al procesamiento de datos en tiempo real.
Si bien la implementación fue desarrollada con fines educativos, los principios y tecnologías utilizados son los mismos que encontramos en numerosos entornos productivos donde Amazon Kinesis, Spark Structured Streaming y Delta Lake desempeñan un papel fundamental dentro de la arquitectura de datos.



Comentarios