DATABIZ partner KNIME

L’open source che abbatte i tempi di elaborazione dei Big Data.

Oltre 60 persone hanno partecipato lo scorso 5 luglio a Milano al “KNIME Italy Meetup goes Big Data on Apache Spark” organizzato da DATABIZ in collaborazione con KNIME (Konstanz Information Miner).
KNIME è la piattaforma open source di analisi dati e reporting che integra vari componenti per il machine learning e data mining.

Nell’innovativo scenario del centro Copernico, sviluppatori, data scientist e responsabili CRM di varie aziende si sono ritrovati per aggiornarsi sulla nuova release, e in particolare su un apposito modulo che permette un machine learning avanzato che può essere gestito anche senza le competenze di uno sviluppatore specializzato.

Nel Meetup, in cui il cluster computing ha occupato la maggior parte degli interventi, DATABIZ ha avuto un ruolo da protagonista in quanto co-developer di alcuni nuovi nodi della nuova release di KNIME presentata in anteprima mondiale.

“DATABIZ è in prima linea nella ricerca e sviluppo di altre funzionalità per costruire nuovi e sempre più sofisticati metodi di analisi” afferma Leo Pillon, Amministratore delegato di DATABIZ. “E siamo lieti di aver contribuito al successo dell’evento, che è stato un’occasione di scambio e approfondimento, un’opportunità per incontrare altri esperti, salutare i partner di Knime e confrontarsi sui futuri sviluppi dell’universo Big Data”.

In uno dei talk più seguiti, Andrea Bessi di DATABIZ ha spiegato come è possibile far comunicare KNIME con Spark utilizzando i nuovi nodi sviluppati da DATABIZ, che è stata chiamata a migliorare le funzionalità di KNIME da una grande azienda interessata ad adattare la piattaforma alle proprie tecnologie CRM per utilizzare la mole di informazioni che vengono raccolte.

Apache Spark è un engine che permette di distribuire il carico di lavoro su più macchine e  dà la possibilità di costruire in poco tempo modelli predittivi. Spark include quattro moduli (compresi con l’acquisto di Knime): start sequel, che si occupa dialogare con il dato strutturato; spark streaming; MLIb, necessario per la costruzione dei modelli predittivi e graph X che è il modulo per i processi grafici. Spark è stato sviluppato con il linguaggio di programmazione Scala e richiede particolari skills tecniche che normalmente i data scientist non hanno. Diventa quindi fondamentale un’interfaccia che permetta di astrarsi dal linguaggio di programmazione per concentrarsi solo sull’analisi del dato. E qui entra in gioco KNIME.

“Abbiamo scelto KNIME perché ha un’interfaccia user-friendly; è parzialmente open source; aveva già  un’integrazione attiva con Hadoop e Spark; offre un ottimo rapporto costi-benefici e dà la possibilità di co-development con il team di Knime” spiega Andrea Bessi.

La caratteristica principale di Knime è proprio la struttura modulare, basata su nodi che effettuano azioni singole sul dato e vengono poi collegati tra loro per costruire la pipeline desiderata. Oggi KNIME ha oltre 1000 diversi nodi per scrittura e lettura dei dati, preprocessing, cleaning, data mining, text analytics, modellizzazione, statistiche, machine learning e ancora viste interattive, grafici e report.

L’integrazione di Spark con Knime, principale goal del contributo di DATABIZ, si è basata sull’RDD, ovvero una striscia virtuale che attraversa i nodi (macchine) di Spark, su ognuno dei quali c’è una partizione del dato. Questo permette allo sviluppatore di interagire con la base dati come se fosse una collection.
“Altra caratteristica importante – ha spiegato Andrea Bessi – è l’immutabilità dell’ RDD: non si possono cambiare i dati collegati, ma occorre creare nuovi RDD con i dati cambiati: così a lungo andare si crea una catena, che diventa  “l’albero genealogico” dell’ RDD”.
Spark e Knime dialogano attraverso lo Spark Job Server, un tool di terze parti che etichetta l’RDD in modo che Knime sappia qual è e possa recuperarlo nel momento necessario. In questo modo le trasformazioni vengono eseguite solo quando si vuole vedere il dato, permettendo di non appesantire il pc e ridurre il carico su tutto il cluster.