Apache Spark

Modalità: streaming, blended, elearning Streaming: 32 ore - Formula Serale


Prezzo del corso

A partire da euro 1.150

Descrizione del corso

CORSO APACHE SPARK

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.

 

Hadoop vs Spark

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.

 

 

 Componenti di Apache Spark

Apache Spark si avvale di cinque componenti fondamentali:

  • Spark Core;
  • Spark SQL;
  • Spark Streaming real-time;
  • MLlib;
  • GraphX

 

 

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.

 

 

 

PROGRAMMA

  • Illustrare Hadoop, HDFS, YARN, e l’ecosistema HDP
  • Illustrare alcuni Spark use cases
  • Analizzare e manipolare dati utilizzando Zeppelin
  • Analizzare e manipolare dati utilizzando Spark REPL
  • Illustrare lo scopo e la funzione di RDDs
  • Utilizzare le pratiche di programmazione funzionale
  • Eseguire le trasformazioni ed azioni con Spark
  • Lavorare con Pair RDDs
  • Eseguire Spark queries utilizzando Spark SQL e DataFrames
  • Utilizzare Spark Streaming stateless e window transformation
  • Visualizzare dati, generare reports e collaborare utilizzando Zeppelin
  • Monitorare applicazioni Spark utilizzando Spark History Server
  • Apprendere le linee guida generali per l’ottimizzazione delle applicazioni
  • Utilizzare il data caching per migliorare le performance delle applicazioni
  • Effettuare build e package di applicazioni Spark
  • Effettuare il deploy delle applicazioni nel cluster utilizzando YARN
  • Comprendere gli scopi di Spark MLib

 

 

 

 

 

 

 

 

SU MISURA PER

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.

 

ACQUISIZIONI COMPETENZE

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


Data

21 Novembre
27 Novembre
28 Novembre
4 Dicembre
5 Dicembre
11 Dicembre
12 Dicembre
18 Dicembre
15 Gennaio