Sviluppo applicazioni Big Data con Scala e Spark

SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo della "Polyglot Persistence"
18 aprile 2017
Machine Learning real life applications by examples
18 aprile 2017
Big Data

Sviluppo applicazioni Big Data con Scala e Spark

Scala è un linguaggio di programmazione general purpose multi-paradigma pensato per realizzare applicazioni ad alte prestazioni che girano all’interno della Java Virtual Machine.
Spark è il framework “Big Data”, basato su Scala, più flessibile e performante disponibile oggi sul mercato. Durante il bootcamp verrà introdotto il linguaggio Scala e verranno mostrate le potenzialità legate al suo utilizzo nell’ambito dello sviluppo di applicazioni web di ultima generazione compresa la possibilità di processamento parallelo di grandi quantità di dati attraverso l’utilizzo del framework Spark.

 

Prerequisiti

Il partecipante dovrà conoscere i rudimenti della programmazione ad oggetti utilizzando il linguaggio Java, la differenza tra programmazione procedurale e funzionale nonché possedere conoscenze teoriche di base riguardanti la programmazione parallela.

 

 

 

Obiettivi formativi

Al termine del corso il partecipante raggiungerà i seguenti obiettivi didattici:Durante la prima parte del bootcamp verrà introdotto il linguaggio Scala e le principali differenze rispetto al linguaggio Java. Verranno dunque analizzate le peculiarità del linguaggio attraverso la realizzazione di numerosi esempi pratici. La seconda parte sarà invece dedicata all’utlizzo del framework Spark per la realizzazione di applicazioni “Big Data”.

 

 

 

 

Programma

  • Introduzione a Scala
  • Principali differenze tra Java e Scala
  • Utilizzo di Scala REPL tool
  • Documentazione API Scala Doc
  • Scala OOP: classi, oggetti, metodi, variabili mutabili ed immutabili
  • Companion objects, case classes, apply e unapply
  • Pattern matching
  • Lavorare con le collections in Scala
  • Costrutti iterativi
  • Utilizzo di SBT (Scala Build Tool)
  • Introduzione a Spark
  • Utilizzo di Spark REPL
  • Introduzione agli RDD
  • Aggregazione dati utilizzando gli RDD
  • Spark SQL: Dataset e DataFrames
  • Spark Streaming
  • Introduzione al Machine Learning con Spark
  • Modalità di esecuzione e deploy di applicazioni Spark
  • Utilizzo di Spark su un cluster Hadoop