Corso Hadoop e Spark Big Data
impara le tecnologie per lo sviluppo con Hadoop e Spark!
Obiettivo del corso
Obiettivi del Corso: formare lo studente con conoscenze basi e tecniche per lo sviluppo di progetti di importazione dati (Big Data) nel cluster Apache Hadoop e come processarli nell’ecosistema con gli appositi strumenti (Spark, Impala, Hide, Flume e Sqoop)
A chi è rivolto
Requisiti per i discenti: Programmatori, laureati o diplomati in informatica con nozioni base di programmazione in Java. Consigliabile ma non indispensabile avere basi di Python e Scala.
Programma
PROGRAMMA (40 ore):
1. Introduzione ed Ecosistema
Introduzione ad Apache Hadoop
Panoramica Ecosistema Hadoop
Problematiche nei sistemi di grandi dati
Perchè Hadoop e i suoi vantaggi
2. Architettura Hadoop e HDFS
Introduzione ad Hadoop Distribuited File Sistem
Distrubuzione dei processi in un cluster
Storage:conservazione dati nell’architettura HDFS
Utilizzo e applicazioni con HDFS
Resource Management: Architettura YARN e utilizzi
3. Importazioni Dati Relazionali in Apache Sqoop
Panoramica Sqoop
Importazioni ed Esportazioni di base
Limitazioni dei risultati
Come migliorare le Performance di Sqoop
Sqoop 2
4. Impala e Hive
Introduzione
Vantaggi e motivi del loro utilizzo
Comparazione Hive con database tradizionali
Casi di utilizzo
5. Modellazione e Gestione dati con Impala e Hive
Panoramica Data Storage
Creazione database e tabelle
Caricamento dati nelle tabelle
Hcatalog
Catching Impala Metadati
6. Data Format
Selezione File Format
Hadoop Tool Support File Format
Avro Schemas
Utilizzo Avro con Hive e Sqoop
Avro Schema Evoluzione e Compressione
7. Partizionamento
Panoramica Partizionamento Dati
Partizionamento in Impala e Hive
8. Apache Flume: acquisizione dati
Introduzione
Architettura Basic Flume
Sorgenti, Sinks, Canali
Configurazione Flume
9. Apache Spark
Introduzione
Utilizzo Spark Shell
RDDs (Resilient Distributed Datasets)
Programmazione funzionale in Spark
10. RDDs in Spark
Applicazioni RDDs con Spark
Key-Value Pair RDDs
MapReduce
Operazioni RDD
11. Scrivere e Deployare Applicazioni in Spark
Differenza tra Spark Application e Spark Shell
Creazione Spark Context
Buildare un’ Applicazione Spark (Scala e Java)
Esecuzione dell’Applicazione Spark
WEB UI nell’Applicazione Spark
Configurazione Proprietà in Spark e registrazione
12. Programmazione Parallela con Spark
Panoramica: Spark in un cluster
Partizioni RDD
Partizionamento RDD File-Based
HDFS e Data Locality
Esecuzioni Operazioni Parallele
Fasi e Attività
13. Spark Catching e Persistenza
Lineage RDD
Panoramica Catching
Persistenza Distribuita
14. Modelli comuni nell’Elaborazione Dati in Spark
Casi d’uso comune in Spark
Algoritmi iterativi in Spark
Elaborazione Grafici e Analisi
Machine Learning
Esempio: K-Means
15. SQL Spark
Panoramica Spark SQL e SQL Context
Creazione DataFrames
Trasformazione e Interrogazione DataFrames
Salvataggio DataFrames
Confronto SQL Spark con Impala
Esercitazioni durante tutto il corso
Dove si svolge
online in classe virtuale oppure in aula frontale