Raccolta dati con Apache Airflow su un Raspberry Pi

Raccolta dati con Apache Airflow su Raspberry Pi

Tutto ciò di cui hai bisogno è un Raspberry Pi

Raspberry Pi Zero (modello 2021), Fonte immagine Wikipedia

Spesso abbiamo bisogno di raccogliere alcuni dati in un determinato periodo di tempo. Possono essere dati provenienti da un sensore IoT, dati statistici dai social network o altro. Ad esempio, la YouTube Data API ci permette di ottenere il numero di visualizzazioni e iscritti per qualsiasi canale al momento attuale, ma le analisi e i dati storici sono disponibili solo per il proprietario del canale. Pertanto, se vogliamo ottenere riepiloghi settimanali o mensili su questi canali, dobbiamo raccogliere questi dati da soli. Nel caso del sensore IoT, potrebbe non essere disponibile alcuna API e dovremmo anche raccogliere e salvare i dati da soli. In questo articolo, mostrerò come configurare Apache Airflow su un Raspberry Pi, che consente di eseguire attività per un lungo periodo di tempo senza coinvolgere alcun provider cloud.

Ovviamente, se lavori per un’azienda di grandi dimensioni, probabilmente non avrai bisogno di un Raspberry Pi. In tal caso, se hai bisogno di un’istanza cloud aggiuntiva, basta creare un ticket Jira per il tuo dipartimento MLOps 😉 Ma per un progetto personale o una startup a basso budget, può essere una soluzione interessante.

Vediamo come funziona.

Raspberry Pi

Cos’è effettivamente un Raspberry Pi? Per i lettori che negli ultimi 10 anni non si sono mai interessati all’hardware (il primo modello di Raspberry Pi è stato presentato nel 2012), posso spiegare brevemente che si tratta di un computer monoplacca che esegue una versione completa di Linux. Di solito, un Raspberry Pi ha una CPU ARM da 1 GHz e 2-4 core e da 1 a 8 MB di RAM. È piccolo, economico e silenzioso; non ha ventole e nessun disco fisso (il sistema operativo viene eseguito da una scheda Micro SD). Un Raspberry Pi ha bisogno solo di un’alimentazione USB standard; può essere collegato tramite Wi-Fi o Ethernet a una rete ed eseguire diverse attività per mesi o addirittura anni.

Per il mio progetto personale di data science, volevo raccogliere le statistiche dei canali YouTube entro 2 settimane. Per un’attività che richiede solo 30-60 secondi due volte al giorno, un’architettura serverless può essere una soluzione perfetta e possiamo utilizzare qualcosa come Google Cloud Function per questo. Ma ogni tutorial di Google iniziava con la frase “abilita la fatturazione per il tuo progetto”. Google fornisce un primo credito gratuito e quote gratuite, ma non volevo avere un altro mal di testa nel monitorare quanto denaro…