Proyecto sobre data (lives de twitch)

Por noviembre – diciembre de 2023 inicié un mini proyecto en un en vivo de twitch, la idea comenzó porque quería seguir aprendiendo y al mismo tiempo crear contenido.

En este post de blog documentaré dicho proyecto para que sirva de ayuda a todos aquellos que me ven en vivo y necesitan refrescar la memoria (incluyéndome) y también para los que les gusta más el formato escrito 🙂

Nota: Este es un post que sigue siendo desarrollado conforme avanzo en el proyecto y documento los pasos y problemas que vaya encontrando.

La idea

El proyecto nació a partir de un video que encontré en Youtube (si lo encuentro lo pondré por acá jaja).

Y en un live de twitch junto con el chat definimos el siguiente diagrama:

Básicamente recibiremos archivos con datos en un bucket de minio. Este bucket notificará a RabbitMQ para que se mande el aviso a Apache NiFi de que un nuevo archivo ha sido cargado y así poder comenzar con el procesamiento de los datos de cada archivo para posteriormente subirlo a una base de datos (BigQuery).

Como parte final dichos datos serán consumidos en un dashboard creado en Apache Superset.

El diagrama principal muestra tecnologías de AWS pero el objetivo es usar alternativas no tan populares (las que están en los cuadritos de color verde).

Otra variable es la maquina en la que estarán instalados dichas tecnologías. En color rojo indica que es una Raspberry Pi 4 y en color azul que es una PC con Windows 11.

Pasos

Instalar go en la Raspberry Pi

Pendiente de documentar

Instalar Minio en la Raspberry Pi

Iniciar Minio y crear bucket

Pendiente de documentar

Instalar RabbitMQ

Crear exchange en RabbitMQ, crear Queue en RabbitMQ y crear notificaciones de eventos de bucket en minio conectando la info del exchange de RabbitMQ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *