Con un solo computer è possibile eseguire numerose attività. Potrebbe trattarsi di automazione dell’ufficio o di contenuti multimediali. Tuttavia, il tuo PC mostrerà presto i suoi limiti per altri lavori più complessi come l’elaborazione dei dati. Sono necessari più computer collegati in rete. Apache Spark è il motore di analisi che permette di coordinare gli sforzi di più macchine raggruppate in cluster. Scopri tutto con parole semplici!
Il progetto open source Apache Spark
Dedicato ai big data, Apache Spark è un sistema unificato di analisi dei dati su larga scala. Nato dall’immaginazione di Matei Zaharia nel 2009, questo potente strumento ti fornisce le risorse di diversi computer collegati tra loro all’interno di cluster. Lo scienziato informatico canadese dietro questo programma lo ha sviluppato come parte del suo dottorato presso l’Università di Berkeley, in California, negli Stati Uniti occidentali.
Nella sua fase iniziale, lo strumento di elaborazione dati Spark è progettato per i sistemi Hadoop. Poi il progetto è cresciuto ed è diventato autonomo. È gestito dalla Apache Foundation, un’organizzazione senza scopo di lucro che possiede un’intera flotta di software e server open source. Poiché si tratta di un ecosistema aperto, Spark è in costante miglioramento.
Circa 1.200 sviluppatori si sono sporcati le mani. Alcuni di questi contributori provengono da aziende come Intel, IBM o Netflix. Come avrai capito, questo programma può adattarsi alle esigenze degli utenti. Per Ebay e Facebook ad esempio, permette di lanciare una campagna mirata. Pinterest lo usa per evidenziare le foto « di tendenza ».
Registrare in elaborazione dati
Nel 2014, Apache Spark ha vinto il concorso Daytona Grey Sort. Stabilisce un record per l’ordinamento di dati su larga scala analizzando 100 terabyte di dati in circa venti minuti. Questo è tre volte più veloce del cluster Hadoop MapReduce di Yahoo, che completa la stessa missione in 72 minuti. Il funzionamento rivoluzionario del sistema open source impiega solo 206 nodi invece dei 2100 nodi del precedente detentore del record.
Il numero di nodi indica il numero di computer che contribuiscono alla rete informatica. Apache Spark risulta essere 3 volte più efficiente con 10 volte meno PC a sua disposizione. Leader indiscusso nell’ordinamento dei dati, il cluster è riuscito ad analizzare 1 petabyte di dati. Ciò equivale a 10 trilioni di record distribuiti su 190 macchine. Una grande novità: questa impresa tecnologica viene eseguita in meno di quattro ore.
Apache Spark è stato il primo strumento di elaborazione dati in un cloud pubblico a raggiungere le dimensioni di petabyte. Immagina per un momento di comprendere l’equivalente di 1 milione di miliardi di byte in pochi minuti. Oltre ad essere molto veloce, questo strumento di smistamento ha anche il vantaggio di essere scalabile. I suoi limiti vengono costantemente ampliati per soddisfare le esigenze degli utenti più esigenti. Sono generalmente grandi nomi nel cloud computing.
Altri buoni motivi per domare questo cluster
Spark ha detronizzato Hadoop offrendo prestazioni fino a 100 volte superiori. Ha la particolarità di utilizzare meno risorse per risultati concisi. Inoltre, la gestione di questo programma su larga scala rimane relativamente semplice. Questo è il motivo per cui molti sviluppatori hanno contribuito al progetto. L’esecuzione delle attività è tre volte più veloce rispetto a MapReduce, l’altro grande nome della scienza dei dati.
Le analisi Spark possono essere sofisticate senza consumare risorse. Spetta a ciascun programmatore modellarlo in base alle proprie esigenze. Tuttavia, le API rimangono sempre facili da usare. Il che conferisce versatilità al programma. L’elaborazione può essere eseguita su un flusso. È anche possibile ottenere grafici di facile comprensione. Il sistema rimane compatibile con le applicazioni Java, R, Scala e Python. Pragmatico, gestisce alla perfezione le query SQL.
Basato sull’apprendimento automatico, Spark include molte librerie standard. Per aumentare la produttività, combina un flusso di lavoro complesso. I dati vengono elaborati in batch. Grazie ad uno scheduler DAG vengono gestiti in streaming. Oltre alle sue molteplici funzionalità, c’è un ottimizzatore di query e un motore di esecuzione fisica.
Uno strumento potente per i professionisti
In quanto motore di analisi unificato, Spark si rivolge principalmente alle aziende. Gli utenti professionali provengono da vari settori tra cui social media, e-commerce, video on demand. Queste aziende lo utilizzano per campagne di marketing mirate, consigli sui prodotti e sicurezza informatica.
Con i suoi 1.200 contributori, è la più grande comunità raggruppata attorno al software open source. Tra le filiali disponibili ci sono:
- Spark MLlib la libreria di machine learning. Ti consente di classificare, filtrare, regredire, raggruppare, comprimere, ecc.
- Spark SQL l’esecutore in linguaggi SQL che trasforma i dati.
- Strumento di elaborazione del flusso in tempo reale di Spark streaming.
- Spark graphX che offre grafici.