Kettle – Pentaho… Meravigliao!

Pubblicato il Pubblicato in Business Intelligence, Open Source
Kettle - Pentaho Data Integration

Breve introduzione a Kettle – Pentaho Data Integration

Nel precedente articolo abbiamo visto come è strutturato un sistema di Business Intelligence. Oggi volevo farvi conoscere uno strumento di ETL (Extract, Transform and Load) totalmente Open Source, sviluppato da Pentaho, un’azienda con sede a Orlando, fondata nel 2004, che offre una suite di prodotti per la BI ed è stata acquisita da Hitachi nel 2015.

Il prodotto che svolge attività di ETL è il PDI (Pentaho Data Integration), più comunemente conosciuto come Kettle.
Una procedura ETL realizzata con il Kettle è essenzialmente un file XML, che è a sua volta prodotto dall’editor grafico chiamato Spoon con il quale si possono realizzare trasformazioni (lanciarle da linea di comando con Pan) e Job (lanciarli da linea di comando con Kitchen).

Vediamo brevemente come funziona…

Dalla pagina di “benvenuto” versione 6.1 (Figura 1) è possibile iniziare a progettare e ingegnerizzare il nostro ETL solo dopo un’attenta e scrupolosa analisi dei requisiti (anche se non è sempre così …^_^ ).

Figura 1 - Home Pentaho Spoon
Figura 1 – Home Pentaho Spoon

Da qui si crea un nuovo job con File-> Nuovo->Job (Figura 2).

Figura 2 - Job
Figura 2 – Job

I Job sono composti da una serie di step collegati tra loro tramite Hop. Servono a mettere in relazione tra loro differenti trasformazioni. Tipicamente inizia con lo step Start e a seguire una serie di altri step in grado di lanciare Script ed altre funzionalità. Gli Hop definiscono la successione degli step da eseguire. Nella scheda Oggetti di base a sinistra è presente la lista di tutti gli step che è possibile utilizzare divisi per tipologia di applicazione.

Nelle trasformazioni vengono manipolati i dati e viene indicato come devono essere raccolti, aggregati e ricaricati. Come per i Job sono presenti diversi Step che a loro volta hanno decine di opzioni.

Figura 3 - Trasformazione
Figura 3 – Trasformazione

Nell’esempio di Figura 3 l’input è preso da una tabella di un DB relazionale ma poteva esserci lo step di input di un file excel, di un file csv, ecc…
Tali dati di input possono essere messi in JOIN con altre tabelle, manipolati tramite step con codice javascript o anche semplicemente applicare un sort o splittandoli da righe a colonne e viceversa.

Una volta creato il nostro Job che contiene al suo interno le varie trasformazioni, possiamo salvare il nostro lavoro o su un Repository (che può essere un DB o una directory) oppure direttamente su file che, per i Job avranno estensione .kjb e per le trasformazioni .ktr.

La scelta della gestione con il repository permette la condivisione con più persone e non richiede il bisogno di effettuare deploy, come contro se non si ha una ottima connessione ed una gestione del DB utilizzato come repository, si rischia di perdere tempo in aperture e salvataggi delle singole trasformazioni con conseguente risentimento delle performance.

Dal mio punto di vista preferisco la gestione tramite file agganciati ad un SVN diviso per ambienti di sviluppo, poiché molto più rapido e non c’è bisogno di gestire un ulteriore DB che fa da repository. Il contro di questa soluzione è quello di effettuare il deploy nelle macchine applicative. Resta il fatto che la scelta è puramente soggettiva o oggettiva in base alle esigenze del cliente in ambito di consulenza.

Con l’avvento dei Big Data e dei NoSQL anche gli strumenti di Business Intelligence si sono dovuti evolvere per rimanere al passo. Kettle risulta uno degli strumenti migliori e più utilizzati, per la libertà della sua licenza e il costante aggiornamento delle versioni. Cliccando qui potete avere maggiori dettagli su Pentaho Big Data.

Se volete iniziare a lavorare con Pentaho Data Integration vi suggerisco di partire cominciando a leggere un post di Matt Casters (uno dei fondatori del progetto Kettle) che mostra i concetti base in 5 minuti. Ecco i link:

 


Se vuoi conoscere le nostre attività formative, visita la pagina dedicata ai corsi di Centauri,  l’Academy di Proxima Informatica.

Se vuoi sapere quali sono le nostre ultime offerte di lavoro visita la sezione Jobs del nostro sito

CondividiShare on FacebookEmail this to someoneShare on LinkedIn
 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *