Apache Spark è uno dei principali framework per l’elaborazione distribuita di Big Data. Si tratta di una piattaforma open source utilizzata per l’elaborazione di analisi dei dati su ampia scala e progettata per essere veloce.
Il framework non include un sistema di gestione dei dati e pertanto viene solitamente distribuito su Hadoop Big data o su altre piattaforme di archiviazione. La sua caratteristica più importante è il suo cluster computing in memoria che è responsabile di aumentare la velocità di elaborazione dei dati. Un Cluster rappresenta semplicemente un gruppo di computer collegati (detti nodi) e coordinati tra loro per elaborare e analizzare dati.
Infatti, la sua velocità è garantita grazie al fatto che può utilizzare le risorse di molti processori come computer collegati tra loro per le sue analisi (secondo le FAQ di Spark, il cluster più grande supera gli 8000 nodi!). Apache Spark è una soluzione scalabile il che significa che se fosse necessaria maggiore elaborazione, basta introdurre più processori nel sistema.
Oltre a molti Cluster, Apache è anche tollerante ai guasti perché utilizza dei Resilient Distributed Dataset (RDD), ossia la struttura dati fondamentale che può contenere qualsiasi tipo di oggetto Python, Java o Scala, comprese le classi definite dall’utente. Un RDD viene creato caricando un set di dati esterno o distribuendo una raccolta dal programma del driver. Ogni set di dati è diviso in partizioni logiche che possono essere calcolate su diversi nodi del cluster, potenzialmente rendendo l’elaborazione in parallelo e quindi distribuendo i vari carichi di lavoro tra i vari processori del cluster.
Un’altra caratteristica è che supporta più linguaggi; fornisce API scritte in Scala, Java, Python o R, permettendo così agli utenti di scrivere applicazioni in diverse lingue, e rendendosi quindi flessibile e amato dagli sviluppatori, che possono così decidere quale linguaggio maggiormente utilizzare.
Apache Spark è visto dai tecnici del settore come un prodotto più avanzato di Hadoop: è più recente e progettato per funzionare elaborando i dati in blocchi “in memoria”.
Spark si è dimostrato molto efficiente ed è utilizzato da grandi aziende per l’archiviazione e l’analisi di dati di grandi dimensioni con più petabyte (ossia 1015 bytes, o 1000 Terabytes).
Non è un caso che nel 2014, avesse stabilito un record mondiale: è riuscito a completare un test di riferimento che prevedeva l’ordinamento di 100 terabyte di dati in 23 minuti (il precedente record di 70 minuti era detenuto da Hadoop).
D’altronde Hadoop permette di immagazzinare enormi set di dati, mentre Spark fornisce l’elaborazione in tempo reale in memoria per quei set di dati che lo richiedono.
Il risultato migliore lo otteniamo quando combiniamo, l’abilità di Apache Spark, ovvero alta velocità di elaborazione, analisi avanzata e supporto di integrazione multipla con l’operazione a basso costo di Hadoop per la gestione dell’hardware e l’immagazzinamento.
Apache Spark si avvale di cinque componenti fondamentali:
Spark Core rappresenta il motore di base per l’elaborazione parallela e distribuita su larga scala dei dati.
Spark SQL è il pacchetto di Spark per lavorare con dati strutturati.
Spark Streaming è un componente Spark che consente l’elaborazione di flussi live di dati
In un sistema così strutturato non poteva mancare una libreria completamente dedicata al machine learning. MLlib offre diversi tipi di algoritmi di apprendimento automatico, tra cui classificazione, regressione, clustering e filtro collaborativo, oltre a supportare funzionalità come la valutazione dei modelli e l’importazione dei dati.
GraphX, una libreria per manipolare grafici (ad esempio un grafico di un social network) ed eseguire calcoli grafico-paralleli.
I partecipanti dovranno avere competenze riguardo i principi della programmazione ed esperienza nello sviluppo software con l’utilizzo di Python oppure Scala. Consigliata la conoscenza di SQL e Data Streaming.
L’obiettivo del corso Apache Spark è quello di acquisire competenze riguardo i concetti teorici, strumenti e tecniche per la progettazione e l’implementazione di procedure per l’analisi avanzata dei Big Data…
Se ti interessa questo corso potrebbe anche interessarti
Corsi ICT e in particolare Corsi Business Intelligence
Sedi: Via Vittorio Amedeo II, 24 – 10121 Torino – Viale Stelvio, 70 – 20159 Milano
21 Novembre
27 Novembre
28 Novembre
4 Dicembre
5 Dicembre
11 Dicembre
12 Dicembre
18 Dicembre
15 Gennaio