ETL for Dummies

banner

Nella scorsa puntata abbiamo parlato di cos’è ETL e di come funziona: ma da dove cominciare?

In questo articolo vediamo alcuni strumenti utili che abbiamo a disposizione per la nostra cassetta degli attrezzi!

Cosa vedrai

Da dove cominciare

Per un principiante è una buona idea iniziare a disegnare un processo ETL con un sistema ad interfaccia grafica, perché avere un riscontro visivo in tempo reale dei processi contribuisce ad acquisire una visione a elicottero e aiuta a non percepire più il dato come qualcosa di statico, ma come uno stream, un flusso che si muove da un punto a un altro.

Strumenti

Quali sono gli strumenti più utili per questo fine? Riportiamo alcuni esempi!

Oracle Warehouse Builder

OWB è uno strumento ETL prodotto da Oracle che offre un ambiente grafico per costruire, gestire e mantenere i processi di integrazione dei dati nei sistemi di business intelligence. L’uso principale di OWB è il consolidamento di fonti di dati eterogenee nel data warehousing e la migrazione dei dati dai sistemi legacy.

Inoltre, offre funzionalità per la modellazione di dati relazionali, dimensionali e metadati, la profilazione, la pulizia e il controllo.

Hitachi Vantara PDI

Già conosciuto come Kettle, PDI (alias Pentaho Data Integration) è un software che consente di gestire processi ETL con una modalità veramente semplice. Oltre ad essere attivamente mantenuto, viene rilasciato sia in CE che in EE (la cui differenza sta essenzialmente nel supporto alla clusterizzazione e poco altro) ed è basato su Java, il che lo rende cross-platform by design.

Consente la lettura e la scrittura, tramite i classici driver Java, a praticamente a tutte le tipologie di database esistenti, anche al limite dell’esotico e, se non dovesse essere abbastanza, lo sviluppatore veramente nerd può aggiungere un suo modulo per compensare eventuali mancanze.

Tip: PDI è il componente più usato della Suite Pentaho, un pacchetto di strumento completo per la gestione della BI aziendale.

Coding

Per quanto riguarda i linguaggi di programmazione con cui è più facile fare ETL, Python continua a essere l’opzione più scelta dagli utenti.

Ci sono tantissimi framework, librerie e risorse già pronte all’uso.

Questi strumenti diventano un valido aiuto quando si inizia a trattare con schemi complessi e massicce quantità di dati senza avere ancora tanta esperienza.

Chiunque sia bravo con Python avrà la tentazione di scrivere le proprie classi, ma sarebbe più un esercizio
intellettuale, visto che esistono centinaia di migliaia di righe già scritte dalla comunità per aiutare a gestire i dati.

Chi non ha mai sentito parlare di petl, pandas, bonobo o mETL?

Inoltre, esistono delle vere e proprie Suite di gestione dati basate su Python, fra i più famosi Apache Airflow e Luigi.

Il primo è uno strumento di automazione del flusso di lavoro e può essere usato per disegnare processi, anche ETL.

Inizialmente creato da Airbnb e passato sotto Apache pochi anni dopo, utilizza tutte le caratteristiche di Python e questo lo rende versatile, accessibile e facile da usare.

Esempio di flusso di DAG in Airflow Esempio di flusso di DAG in Airflow

Esempio di rapresentazione delle dipendenze in un DAG in Airflow Esempio di rappresentazione delle dipendenze in un DAG in Airflow

La natura open-source di Airflow rende più facile impostare e mantenere le pipeline di dati e le integrazioni.

Anche Luigi è uno strumento open-source, scritto in Python, che permette di costruire pipeline. Lo strumento è stato sviluppato da Spotify ed è utilizzato da una vasta gamma di aziende, tra cui Stripe e Red Hat.

L’interfaccia web di Luigi

Node-RED

Node-RED è uno strumento open-source basato su Javascript (Node.js) il cui scopo primario è la gestione dell’IoT tramite il paradigma dei flussi di dati e prevede un’interfaccia grafica accessibilie via HTTPs per l’architettura dei processi.

Inizialmente ideato per gestire code MQTT e dati in formato JSON, oggi può essere usato come strumenti ETL completo grazie ai numerosi connettori scritti dalla community.

Flusso in Node-RED Esempio di funzionamento di Node-RED

Risorse utili

  • [https://theredcode.it/data-science/etl-e-dintorni](Articolo precedente)

Contatti

Post correlati

Iscriviti al TheRedCode.it Corner

La tecnologia corre, e tu devi correre più veloce per rimanere sempre sul pezzo! 🚀

Riceverai una volta al mese (o anche meno) con codici sconto per partecipare agli eventi del settore, quiz per vincere dei gadget e i recap degli articoli più interessanti pubblicati sul blog

Ci sto!

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome

Vuoi diventare #tech content writer? 🖊️

Se vuoi raccontare la tua sul mondo #tech con dei post a tema o vuoi condividere la tua esperienza con la community, sei nel posto giusto! 😉

Manda una mail a collaborazioni[at]theredcode.it con la tua proposta e diventa la prossima penna del blog!

Ma sì, facciamolo!