SlideShare a Scribd company logo
INTRODUZIONE AI BIG DATA
E ALLA SCIENZA DEI DATI
Lezione 5
I Big Data; le tecnologie dei Big Data (MapReduce, Hadoop, Hive
e Pig); il cloud computing
Vincenzo Manzoni	

vincenzomanzoni.com | me@vincenzomanzoni.com
UN’INTERESSANTE
METAFORA…
BIG DATA
• Si veda la presentazione fatta al Palazzolo Digital Festival 2013.
MAP REDUCE (1/2)
• Modello di programmazione adatto a
processare grandi dataset.	

• Parallelo.	

• Distribuito in un cluster.	

• Adatto ad essere eseguito su hardware
comune.	

• Inizialmente sviluppato da Google
Insieme di computer connessi
che lavorano insieme, in
modo che possano essere
visti come un unico sistema.
MAP REDUCE (2/2)
• Il modello è composto da 2 procedure:	

• Map: assegna un valore a una chiave.	

• Reduce: riduce tutti i valori associati a una stessa chiave
secondo una funzione di aggregazione.	

• Esempi	

• Conteggio delle persone in un palazzo	

• Conteggio delle parole in un testo
MAP REDUCE: ESEMPIO
MAP REDUCE: ESEMPIO
MAP REDUCE: ESEMPIO
MAP REDUCE: ESEMPIO
MAP REDUCE: ESEMPIO
MAP REDUCE: ESEMPIO
MAP REDUCE:VANTAGGI E
SVANTAGGI
• Vantaggi
• Scala in modo (quasi) lineare, ovvero raddoppiando la potenza di
calcolo, si dimezza il tempo di calcolo.	

• È robusto.	

• Svantaggi
• È complesso tradurre algoritmi tradizionali nella forma Map
Reduce. 	

• In particolare, le query SQL.
MAP REDUCE: USI
• Ricerca	

• Analisi di file di log	

• Costruzione di indici analitici (inverted index)	

• Machine learning
HADOOP
• Framework che supporta applicazioni distribuite
con alto accesso ai dati.	

• Sviluppato attivamente daYahoo, è stato ispirato
dalla MapReduce di Google e dal Google File
System.	

• È composto da:	

• HDFS: un filesystem distribuito	

• Hadoop Common: un insieme di librerie
per l’accesso a HDFS.
HADOOP:ARCHITETTURA
HIVE
• Tecnologia per interrogare i Big Data come se
fossero tabelle SQL.	

• HiveQL	

• Produce in modo trasparente software Map
Reduce.	

• Inizialmente sviluppato da Facebook.
HIVEQL
• Linguaggio dichiarativo	

• Si specifica cosa si vuole, non come ottenerle (come SQL).	

• Simile, ma non del tutto identico a SQL.	

• Esempi:	

• SELECT	
  COUNT(*)	
  

FROM	
  nyse_stocks	
  
• SELECT	
  AVG(stock_price_close)	
  

FROM	
  nyse_stocks	
  

WHERE	
  stock_symbols=‘IBM’
PIG	

• Piattaforma per creare programmi Map
Reduce.	

• Astrae la scrittura di programmi Map
Reduce in un linguaggio di più alto livello (Pig
Latin).	

• Inizialmente sviluppato daYahoo.
PIG LATIN
• Linguaggio procedurale.	

• Si specificano i vari passi per ottenere un risultato (come C,
Python, R, Java, …)	

• Esempio:	

a	
  =	
  LOAD	
  'nyse_stocks'	
  using

	
  	
  	
  org.apache.hcatalog.pig.HCatLoader();

b	
  =	
  filter	
  a	
  by	
  stock_symbol	
  ==	
  'IBM';

c	
  =	
  group	
  b	
  all;

d	
  =	
  foreach	
  c	
  generate	
  AVG(b.stock_price_close);

dump	
  d;
HIVEQLVS PIG LATIN
HiveQL Pig Latin
Tecnologia Hive Pig
Introdotto da Facebook Yahoo
Tipologia di linguaggio Dichiarativo Procedurale
Simile a SQL C, Java, Python, R
DEMO
• Esempio d’uso di Hive da pannello di controllo web	

• Confronto delle prestazioni con una interrogazione MySQL	

• Esempio d’uso di Hive da console	

• Esempio d’uso di Pig
CONFRONTO PRESTAZIONI
MYSQL E HADOOP
Prestazioni(minoreèmeglio)
0
10
20
30
40
Dimensione del dataset (GB)
0 50 100 150 200
MySQL Hadoop
Hadoop inizia ad essere conveniente
per dataset > di 100-150 GB.
IL CLOUD COMPUTING
• Insieme di tecnologie offerta da un provider che permettono di
memorizzare e elaborare dati grazie a risorse hardware e software
distribuite e virtualizzate.
OFFERTE CLOUD
• Alcuni esempi	

• Dropbox: storage	

• AWS (Amazon Web Services)	

• storage	

• calcolo	

• molto altro – lo vedremo in dettaglio.	

• Microsoft Azure	

• storage	

• calcolo, compreso Hadoop	

• Google Cloud	

• storage	

• calcolo, compreso Hadoop	

• machine learning as a service con le Google Prediction API
AWS
• Tecnologie	

• EC2: calcolo on demand	

• S3: storage on demand	

• Elastic MapReduce: Hadoop on demand (anche con Pig e
Hive)	

• Database relazionali e NoSQL
AWS
MACHINE LEARNING AS A
SERVICE
• Servizio che rende trasparente all’utente il processo di scelta del miglior
algoritmo di apprendimento supervisionato	

• L’utente carica nel servizio il proprio dataset di addestramento (spesso,
anche quello di test).	

• Il sistema addestra un modello e notifica l’utente al termine
dell’operazione.	

• A questo punto l’utente

può chiedere al modello

di classificare nuove

istanze.
MACHINE LEARNING AS A
SERVICE
• Provider di servizi di machine learning as a service	

• Google Prediction API	

• Algorithms.io (beta, su invito)	

• wise.io	

• BigML
LIBRO CONSIGLIATO
ESERCIZIO FINALE

CONSEGNA
• Siete l’analista dati di un provider di telefonia. Il vostro obiettivo è di capire se nei
prossimi 6 mesi un cliente lascerà sulla base del suo profilo d’uso.	

• Il profilo d’uso di un utente è descritto da 4 variabili:	

1. Uso voce (minuti / mese)	

2. Uso dati (MB / mese)	

3. Chiamate al servizio clienti	

4. Ritardo nei pagamenti (mesi)	

 	

Id Uso	
  voce Uso	
  da+
Chiamate	
  al	
  
servizio	
  clien+
Ritardo	
  
pagamen+
Lascia?
1 3.20 22.85 0 1 VERO
2 36.42 67.40 2 1 FALSO
3 5.44 148.13 1 0 FALSO
…
ESERCIZIO FINALE

ESPLORAZIONE E MACHINE LEARNING
1. Fare analisi esplorativa dei dati del dataset di training.Alcune domande a cui dare
risposta in modo grafico sono:	

• Esiste una correlazione tra le chiamate al supporto clienti e la chiusura di un account?	

• Esiste una relazione tra il ritardo di pagamento e la chiusura dell’account?	

• Esiste una relazione tra l’uso voce e l’uso dati?

2. Determinare il miglior modello supervisionato che predica la chiusura di un account
dalle altre 4 variabili.Algoritmi da provare sono:	

• Decision trees	

• K-NN	

!
3. Quale algoritmo performa meglio?

More Related Content

Viewers also liked

Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
Vincenzo Manzoni
 
Introduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati datiIntroduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati dati
Vincenzo Manzoni
 
Big data e analisi predittiva
Big data e analisi predittivaBig data e analisi predittiva
Big data e analisi predittiva
Antonio Bucciol
 
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazioneIntroduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Vincenzo Manzoni
 
Basic Sharding in MongoDB presented by Shaun Verch
Basic Sharding in MongoDB presented by Shaun VerchBasic Sharding in MongoDB presented by Shaun Verch
Basic Sharding in MongoDB presented by Shaun Verch
MongoDB
 
PresentazioneTesiSilviaMarrone1
PresentazioneTesiSilviaMarrone1PresentazioneTesiSilviaMarrone1
PresentazioneTesiSilviaMarrone1Silvia Marrone
 
Big data overview
Big data overviewBig data overview
Big data overview
Akash Pramanik
 
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
Cultura Digitale
 
IOT
IOTIOT
Smau Firenze 2015 - Startupitalia!
Smau Firenze 2015 - Startupitalia!Smau Firenze 2015 - Startupitalia!
Smau Firenze 2015 - Startupitalia!
SMAU
 
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
Concordia Srl
 
MASTER "re-design Medicine" THE BOOKLET
MASTER "re-design Medicine" THE BOOKLETMASTER "re-design Medicine" THE BOOKLET
MASTER "re-design Medicine" THE BOOKLET
Giorgia Zunino
 
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANERETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
Fausto Intilla
 
Game of Thrones Infographic
Game of Thrones InfographicGame of Thrones Infographic
Game of Thrones Infographic
Valerio Capozio
 
Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...
kylanee
 
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
Vincenzo Manzoni
 
Agile Lab_BigData_Meetup_AKKA
Agile Lab_BigData_Meetup_AKKAAgile Lab_BigData_Meetup_AKKA
Agile Lab_BigData_Meetup_AKKA
Paolo Platter
 
Agile Lab_BigData_Meetup
Agile Lab_BigData_MeetupAgile Lab_BigData_Meetup
Agile Lab_BigData_Meetup
Paolo Platter
 
Presentazione bigdata Madee
Presentazione bigdata MadeePresentazione bigdata Madee
Presentazione bigdata Madee
Gianluigi Cogo
 
Le competenze che contano Ci sono un sacco di posti di lavoro che gli italia...
Le competenze che contano Ci sono un sacco di posti di lavoro  che gli italia...Le competenze che contano Ci sono un sacco di posti di lavoro  che gli italia...
Le competenze che contano Ci sono un sacco di posti di lavoro che gli italia...
InSide Training
 

Viewers also liked (20)

Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
Tableau at Tenaris - Tableau 10 Roadshow, Roma 2016
 
Introduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati datiIntroduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati dati
 
Big data e analisi predittiva
Big data e analisi predittivaBig data e analisi predittiva
Big data e analisi predittiva
 
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazioneIntroduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
Introduzione ai Big Data e alla scienza dei dati - Sistemi di raccomandazione
 
Basic Sharding in MongoDB presented by Shaun Verch
Basic Sharding in MongoDB presented by Shaun VerchBasic Sharding in MongoDB presented by Shaun Verch
Basic Sharding in MongoDB presented by Shaun Verch
 
PresentazioneTesiSilviaMarrone1
PresentazioneTesiSilviaMarrone1PresentazioneTesiSilviaMarrone1
PresentazioneTesiSilviaMarrone1
 
Big data overview
Big data overviewBig data overview
Big data overview
 
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
Alberto Degradi - Big Data: grande sfida e grande opportunità - Digital for B...
 
IOT
IOTIOT
IOT
 
Smau Firenze 2015 - Startupitalia!
Smau Firenze 2015 - Startupitalia!Smau Firenze 2015 - Startupitalia!
Smau Firenze 2015 - Startupitalia!
 
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
"APPLICAZIONI DI MACHINE LEARNING NEL DIGITAL OUT OF HOME
 
MASTER "re-design Medicine" THE BOOKLET
MASTER "re-design Medicine" THE BOOKLETMASTER "re-design Medicine" THE BOOKLET
MASTER "re-design Medicine" THE BOOKLET
 
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANERETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
 
Game of Thrones Infographic
Game of Thrones InfographicGame of Thrones Infographic
Game of Thrones Infographic
 
Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...Tecniche basate su machine learning per la determinazione del profilo di un a...
Tecniche basate su machine learning per la determinazione del profilo di un a...
 
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
Le opportunita dei Big Data - Palazzolo Digital Festival 2013 (PDF13)
 
Agile Lab_BigData_Meetup_AKKA
Agile Lab_BigData_Meetup_AKKAAgile Lab_BigData_Meetup_AKKA
Agile Lab_BigData_Meetup_AKKA
 
Agile Lab_BigData_Meetup
Agile Lab_BigData_MeetupAgile Lab_BigData_Meetup
Agile Lab_BigData_Meetup
 
Presentazione bigdata Madee
Presentazione bigdata MadeePresentazione bigdata Madee
Presentazione bigdata Madee
 
Le competenze che contano Ci sono un sacco di posti di lavoro che gli italia...
Le competenze che contano Ci sono un sacco di posti di lavoro  che gli italia...Le competenze che contano Ci sono un sacco di posti di lavoro  che gli italia...
Le competenze che contano Ci sono un sacco di posti di lavoro che gli italia...
 

Similar to Introduzione ai Big Data e alla scienza dei dati - Big Data

Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
Consulthinkspa
 
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dominopoint - Italian Lotus User Group
 
Appunti di big data
Appunti di big dataAppunti di big data
Appunti di big data
Franco Diaspro
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
Igor Antonacci
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBM
Jürgen Ambrosi
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
Gino Farisano
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Eugenio Minardi
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Wellnet srl
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Marco Pozzan
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
Commit University
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Marco Pozzan
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScriptSinergia Totale
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
azuredayit
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
Stefano Sanna
 
Azure functions
Azure functionsAzure functions
Azure functions
Andrea Tosato
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
Andrea Cirioni
 
Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti
Riccardo Zamana
 

Similar to Introduzione ai Big Data e alla scienza dei dati - Big Data (20)

Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
 
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
Dati, dati, dati! - Sfruttare le potenzialità delle XPages con Google Chart T...
 
Appunti di big data
Appunti di big dataAppunti di big data
Appunti di big data
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBM
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScript
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Azure functions
Azure functionsAzure functions
Azure functions
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
 
Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti Industrial iot: dalle parole ai fatti
Industrial iot: dalle parole ai fatti
 

Introduzione ai Big Data e alla scienza dei dati - Big Data

  • 1. INTRODUZIONE AI BIG DATA E ALLA SCIENZA DEI DATI Lezione 5 I Big Data; le tecnologie dei Big Data (MapReduce, Hadoop, Hive e Pig); il cloud computing Vincenzo Manzoni vincenzomanzoni.com | me@vincenzomanzoni.com
  • 3. BIG DATA • Si veda la presentazione fatta al Palazzolo Digital Festival 2013.
  • 4. MAP REDUCE (1/2) • Modello di programmazione adatto a processare grandi dataset. • Parallelo. • Distribuito in un cluster. • Adatto ad essere eseguito su hardware comune. • Inizialmente sviluppato da Google Insieme di computer connessi che lavorano insieme, in modo che possano essere visti come un unico sistema.
  • 5. MAP REDUCE (2/2) • Il modello è composto da 2 procedure: • Map: assegna un valore a una chiave. • Reduce: riduce tutti i valori associati a una stessa chiave secondo una funzione di aggregazione. • Esempi • Conteggio delle persone in un palazzo • Conteggio delle parole in un testo
  • 12. MAP REDUCE:VANTAGGI E SVANTAGGI • Vantaggi • Scala in modo (quasi) lineare, ovvero raddoppiando la potenza di calcolo, si dimezza il tempo di calcolo. • È robusto. • Svantaggi • È complesso tradurre algoritmi tradizionali nella forma Map Reduce. • In particolare, le query SQL.
  • 13. MAP REDUCE: USI • Ricerca • Analisi di file di log • Costruzione di indici analitici (inverted index) • Machine learning
  • 14. HADOOP • Framework che supporta applicazioni distribuite con alto accesso ai dati. • Sviluppato attivamente daYahoo, è stato ispirato dalla MapReduce di Google e dal Google File System. • È composto da: • HDFS: un filesystem distribuito • Hadoop Common: un insieme di librerie per l’accesso a HDFS.
  • 16. HIVE • Tecnologia per interrogare i Big Data come se fossero tabelle SQL. • HiveQL • Produce in modo trasparente software Map Reduce. • Inizialmente sviluppato da Facebook.
  • 17. HIVEQL • Linguaggio dichiarativo • Si specifica cosa si vuole, non come ottenerle (come SQL). • Simile, ma non del tutto identico a SQL. • Esempi: • SELECT  COUNT(*)  
 FROM  nyse_stocks   • SELECT  AVG(stock_price_close)  
 FROM  nyse_stocks  
 WHERE  stock_symbols=‘IBM’
  • 18. PIG • Piattaforma per creare programmi Map Reduce. • Astrae la scrittura di programmi Map Reduce in un linguaggio di più alto livello (Pig Latin). • Inizialmente sviluppato daYahoo.
  • 19. PIG LATIN • Linguaggio procedurale. • Si specificano i vari passi per ottenere un risultato (come C, Python, R, Java, …) • Esempio: a  =  LOAD  'nyse_stocks'  using
      org.apache.hcatalog.pig.HCatLoader();
 b  =  filter  a  by  stock_symbol  ==  'IBM';
 c  =  group  b  all;
 d  =  foreach  c  generate  AVG(b.stock_price_close);
 dump  d;
  • 20. HIVEQLVS PIG LATIN HiveQL Pig Latin Tecnologia Hive Pig Introdotto da Facebook Yahoo Tipologia di linguaggio Dichiarativo Procedurale Simile a SQL C, Java, Python, R
  • 21. DEMO • Esempio d’uso di Hive da pannello di controllo web • Confronto delle prestazioni con una interrogazione MySQL • Esempio d’uso di Hive da console • Esempio d’uso di Pig
  • 22. CONFRONTO PRESTAZIONI MYSQL E HADOOP Prestazioni(minoreèmeglio) 0 10 20 30 40 Dimensione del dataset (GB) 0 50 100 150 200 MySQL Hadoop Hadoop inizia ad essere conveniente per dataset > di 100-150 GB.
  • 23. IL CLOUD COMPUTING • Insieme di tecnologie offerta da un provider che permettono di memorizzare e elaborare dati grazie a risorse hardware e software distribuite e virtualizzate.
  • 24. OFFERTE CLOUD • Alcuni esempi • Dropbox: storage • AWS (Amazon Web Services) • storage • calcolo • molto altro – lo vedremo in dettaglio. • Microsoft Azure • storage • calcolo, compreso Hadoop • Google Cloud • storage • calcolo, compreso Hadoop • machine learning as a service con le Google Prediction API
  • 25. AWS • Tecnologie • EC2: calcolo on demand • S3: storage on demand • Elastic MapReduce: Hadoop on demand (anche con Pig e Hive) • Database relazionali e NoSQL
  • 26. AWS
  • 27. MACHINE LEARNING AS A SERVICE • Servizio che rende trasparente all’utente il processo di scelta del miglior algoritmo di apprendimento supervisionato • L’utente carica nel servizio il proprio dataset di addestramento (spesso, anche quello di test). • Il sistema addestra un modello e notifica l’utente al termine dell’operazione. • A questo punto l’utente
 può chiedere al modello
 di classificare nuove
 istanze.
  • 28. MACHINE LEARNING AS A SERVICE • Provider di servizi di machine learning as a service • Google Prediction API • Algorithms.io (beta, su invito) • wise.io • BigML
  • 30. ESERCIZIO FINALE
 CONSEGNA • Siete l’analista dati di un provider di telefonia. Il vostro obiettivo è di capire se nei prossimi 6 mesi un cliente lascerà sulla base del suo profilo d’uso. • Il profilo d’uso di un utente è descritto da 4 variabili: 1. Uso voce (minuti / mese) 2. Uso dati (MB / mese) 3. Chiamate al servizio clienti 4. Ritardo nei pagamenti (mesi) Id Uso  voce Uso  da+ Chiamate  al   servizio  clien+ Ritardo   pagamen+ Lascia? 1 3.20 22.85 0 1 VERO 2 36.42 67.40 2 1 FALSO 3 5.44 148.13 1 0 FALSO …
  • 31. ESERCIZIO FINALE
 ESPLORAZIONE E MACHINE LEARNING 1. Fare analisi esplorativa dei dati del dataset di training.Alcune domande a cui dare risposta in modo grafico sono: • Esiste una correlazione tra le chiamate al supporto clienti e la chiusura di un account? • Esiste una relazione tra il ritardo di pagamento e la chiusura dell’account? • Esiste una relazione tra l’uso voce e l’uso dati?
 2. Determinare il miglior modello supervisionato che predica la chiusura di un account dalle altre 4 variabili.Algoritmi da provare sono: • Decision trees • K-NN ! 3. Quale algoritmo performa meglio?