introduzione ai big data e alla scienza dei dati - big data
TRANSCRIPT
![Page 1: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/1.jpg)
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 | [email protected]
![Page 2: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/2.jpg)
UN’INTERESSANTE METAFORA…
![Page 3: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/3.jpg)
BIG DATA• Si veda la presentazione fatta al Palazzolo Digital Festival 2013.
![Page 4: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/4.jpg)
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.
![Page 5: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/5.jpg)
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
![Page 6: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/6.jpg)
MAP REDUCE: ESEMPIO
![Page 7: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/7.jpg)
MAP REDUCE: ESEMPIO
![Page 8: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/8.jpg)
MAP REDUCE: ESEMPIO
![Page 9: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/9.jpg)
MAP REDUCE: ESEMPIO
![Page 10: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/10.jpg)
MAP REDUCE: ESEMPIO
![Page 11: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/11.jpg)
MAP REDUCE: ESEMPIO
![Page 12: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/12.jpg)
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.
![Page 13: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/13.jpg)
MAP REDUCE: USI• Ricerca • Analisi di file di log • Costruzione di indici analitici (inverted index) • Machine learning
![Page 14: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/14.jpg)
HADOOP• Framework che supporta applicazioni distribuite
con alto accesso ai dati. • Sviluppato attivamente da Yahoo, è 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.
![Page 15: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/15.jpg)
HADOOP: ARCHITETTURA
![Page 16: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/16.jpg)
HIVE• Tecnologia per interrogare i Big Data come se
fossero tabelle SQL. • HiveQL • Produce in modo trasparente software Map
Reduce. • Inizialmente sviluppato da Facebook.
![Page 17: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/17.jpg)
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’
![Page 18: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/18.jpg)
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 da Yahoo.
![Page 19: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/19.jpg)
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;
![Page 20: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/20.jpg)
HIVEQL VS PIG LATIN
HiveQL Pig LatinTecnologia Hive Pig
Introdotto da Facebook YahooTipologia di linguaggio Dichiarativo Procedurale
Simile a SQL C, Java, Python, R
![Page 21: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/21.jpg)
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
![Page 22: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/22.jpg)
CONFRONTO PRESTAZIONI MYSQL E HADOOP
Pres
tazio
ni (m
inore
è m
eglio
)
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.
![Page 23: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/23.jpg)
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.
![Page 24: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/24.jpg)
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
![Page 25: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/25.jpg)
AWS• Tecnologie
• EC2: calcolo on demand • S3: storage on demand • Elastic MapReduce: Hadoop on demand (anche con Pig e
Hive) • Database relazionali e NoSQL
![Page 26: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/26.jpg)
AWS
![Page 27: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/27.jpg)
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’utentepuò chiedere al modellodi classificare nuoveistanze.
![Page 28: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/28.jpg)
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
![Page 29: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/29.jpg)
LIBRO CONSIGLIATO
![Page 30: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/30.jpg)
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 VERO2 36.42 67.40 2 1 FALSO3 5.44 148.13 1 0 FALSO
…
![Page 31: Introduzione ai Big Data e alla scienza dei dati - Big Data](https://reader034.vdocuments.pub/reader034/viewer/2022052514/58a97ecc1a28ab0a0a8b6551/html5/thumbnails/31.jpg)
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?