Recopilación de datos con Apache Airflow en una Raspberry Pi |  de Dmitrii Eliuseev |  octubre de 2023

Una Raspberry Pi es todo lo que necesitas

Raspberry Pi Zero (modelo 2021), fuente de la imagen Wikipedia

A menudo, necesitamos recopilar algunos datos dentro de un período de tiempo determinado. Pueden ser datos del sensor IoT, datos estadísticos de redes sociales u otra cosa. Como ejemplo, el API de datos de YouTube nos permite obtener la cantidad de vistas y suscriptores de cualquier canal en el momento actual, pero los análisis y los datos históricos están disponibles solo para el propietario del canal. Por lo tanto, si queremos obtener resúmenes semanales o mensuales sobre estos canales, debemos recopilar estos datos nosotros mismos. En el caso del sensor de IoT, es posible que no haya ninguna API y también necesitamos recopilar y guardar datos por nuestra cuenta. En este artículo, mostraré cómo configurar Apache Airflow en una Raspberry Pi, lo que permite ejecutar tareas durante un largo período de tiempo sin involucrar a ningún proveedor de nube.

Obviamente, si trabaja para una gran empresa, probablemente no necesitará una Raspberry Pi. En ese caso, si necesita una instancia de nube adicional, simplemente cree un ticket de Jira para su departamento de MLOps;) Pero para un proyecto favorito o una startup de bajo presupuesto, puede ser una solución interesante.

Vamos a ver cómo funciona.

Frambuesa Pi

¿Qué es realmente una Raspberry Pi? Para aquellos lectores que nunca han estado interesados ​​​​en el hardware durante los últimos 10 años (el primer modelo Raspberry Pi se introdujo en 2012), puedo explicarles brevemente que se trata de una computadora de placa única que ejecuta Linux completo. Por lo general, una Raspberry Pi tiene una CPU ARM de 2 a 4 núcleos de 1 GHz y de 1 a 8 MB de RAM. Es pequeño, barato y silencioso; no tiene ventiladores ni unidad de disco (el sistema operativo se ejecuta desde una tarjeta Micro SD). Una Raspberry Pi sólo necesita una fuente de alimentación USB estándar; se puede conectar mediante Wi-Fi o Ethernet a una red y ejecutar diferentes tareas en meses o incluso años.

Para mi proyecto favorito de ciencia de datos, quería recopilar las estadísticas del canal de YouTube en 2 semanas. Para una tarea que requiere sólo de 30 a 60 segundos dos veces al día, una arquitectura sin servidor puede ser una solución perfecta y podemos usar algo como Función de nube de Google para eso. Pero todos los tutoriales de Google comenzaban con la frase “habilite la facturación para su proyecto”. Hay primer crédito gratuito y cuotas gratuitas proporcionadas por Google, pero no quería tener otro dolor de cabeza al controlar cuánto dinero…