際際滷

際際滷Share a Scribd company logo
Big Data
Introduzione allanalisi di grandi quantit di dati con tecnologie di tipo HADOOP
Cosa 竪 Big Data
 La gestione dei dati pu嘆 comportare query su dati strutturati allinterno di database di
grandi dimensioni, oppure ricerche su file system distribuiti od infine operazioni di
manipolazione, visualizzazione, trasferimento e cancellazione di file e directory
distribuite su pi湛 server.
 Lanalisi computazionale comporta lo sviluppo di metodi ed algoritmi scalabili per la
gestione e l'analisi di Big Data. Per scalabilit, intendiamo metodi che rimangono
veloci, flessibili ed efficienti anche quando la dimensione dell'insieme di dati cresce.
 L'analisi dei dati e la modellazione pu嘆 comportare la riduzione dimensionale, la
suddivisione (clustering), la classificazione (ranking), la previsione e la possibilit di
future estrazioni.
 La Visualizzazione pu嘆 coinvolgere modalit grafiche che forniscono informazioni su
grandi quantit di dati, ricchi di informazioni visive con riepiloghi dei risultati, dove
lanalisi visuale talvolta 竪 il momento stesso in cui i dati vengono valutati.
Le 3V  variet, velocit, volume
 Variet: i dati possono essere strutturati e non strutturati, provenienti da sorgenti
interne, esterna o pubbliche
 Velocit: di generazione, di acquisizione, di processamento e gestione
 Volume: la quantit dei dati prodotti
 Da valutare anche
 Complessit: intesa come differenti formati, diverse strutture e diverse sorgenti di
provenienza.
 Valore: costo del dato, sia la produzione, limmagazzinamento e talvolta lacquisto.
 La veridicit del dato: 竪 importante chi certifica il dato.
 Il BIG DATA di oggi sar il LITTLE DATA di domani (tutto dipende dalla capacit
computazionale a disposizione)
Big Data Analytics
 Analitico : 竪 la scoperta di modelli significativi allinterno dei dati (meangiful
pattern)
 Le analisi analitiche possono portare a riconoscere modelli di dati che possono
essere utili per predire eventi futuri oppure spiegare eventi passati
 ad esempio lincrocio di banche dati fiscali 竪 servito a rintracciare comportamenti
fraudolenti
 Invece lanalisi dei comportamenti utente su un sevizio di WEB-TV o IP-TV, serve
a predire le loro abitudine televisive
 Per approfondire:
http://stattrak.amstat.org/2014/07/01/bigdatasets/
La ruota del BIG DATA
Come affrontare BIG DATA
 Lesplosione della produzione ed immagazzinamento di dati che si 竪 avuto negli
ultimi venti anni ha portato allo sviluppo di molteplici metodologie, algoritmi e
tecnologie per affrontare queste problematiche
 Big data analytics: lutilizzo di algoritmi matematici, statistiche e machine learning
(apprendimento evolutivo di sistemi computazionali) per analizzare dati prodotti
sempre con maggiore velocit, variet, volume e complessit
 Big models: sviluppo di nuove teorie e metodi che si basano su modelli finalizzati
allutilizzo ed interpretazione del dato
 New Insights: provvedere a ridurre le differenze tra teoria e pratica fornendo
soluzioni che offrono un modello collaborativo tra organizzazioni interconnesse e
multidisciplinari
GESTIRE BIG DATA CON HADOOP
 SQL, HADOOP e MAP REDUCE sono tre strumenti comuni per gestire grandi
quantit di dati
 HADOOP si compone di diversi tool
 HDFS (HADDOP DISTRIBUTED FILE SYSTEM) 竪 un file system distribuito su cluster
o su cloud
 HADOOP MAP REDUCE 竪 un pattern per analizzare dati in ambienti cloud
 APACHE PIG 竪 un framework costruito in ambiente HADOOP (per scherzare si
pu嘆 dire che come un maiale mangia dati e produce report e non si butta via
niente)
 APACHE SPARK 竪 un motore di ricerca per processare dati distribuiti in larga scala
Apache Hadoop
 Apache Hadoop 竪 un framework che consente l'elaborazione distribuita di grandi
insiemi di dati attraverso cluster di servers, oppure sui servizi di cloud computing,
come Amazon Elastic Compute Cloud (EC2). Questo 竪 possibile attraverso
lutilizzo di modelli di programmazione semplici.  stato progettato per scalare
da singolo server a migliaia di macchine distribuite, ognuna delle quali offre
capacit di calcolo e di immagazzinamento. Rileva e gestisce gli errori a livello di
strato applicativo.
 I suoi principali componenti sono
 HDFS
 MAP REDUCE
Confronto MAP REDUCE - SQL
 HADOOP pu嘆 gestire sia dati strutturati che non strutturati
 Se lavori con dati strutturati le due tecnologie sono complementari, in quanto
SQL si pu嘆 utilizzare su HADOOP come motore di ricerca
 Mentre HADOOP lavora su cluster esistenti (ad esempio raccogliendo file di log
da batterie di server) per avere un RDBMS relazionale devi comprare un
Hardware apposito
 Hadoop utilizza il principio key-value invece della relazione fra tabelle
 SQL 竪 un linguaggio dichiarativo di alto livello mentre MAP REDUCE si basa su
linguaggi funzionali
Come funziona HDFS
 Blocchi: un file in ingresso viene suddiviso in blocchi e salvato su pi湛 nodi cluster
 Ogni blocco 竪 scritto una solo volta e pu嘆 essere processato attraverso MAP
REDUCE framework
 I dati sono automaticamente replicati in caso di problemi
 I nodi si dividono in nodi nome e nodi data
 Sui nodi nome 竪 annotato a che file appartiene e dove 竪 salvato il blocco
 Sui nodi data sono salvati i blocchi
Lecosistema del BIG DATA
 I BIG DATA presentano diverse framework, librerie, strumenti e piattaforme con cui
poter operare
 Frameworks: Hadoop Ecosystem, Apache Spark, Apache Storm, Apache Pig,
Facebook Presto
 Patterns: Map Reduce, Actor Model, Data Pipeline
 Piattoforme: Cloudera, Pivotal, Amazon Redshift, Google Compute Engine,
Elastichsearch
 Tra questi sottolineiamo
 Apache Mahout: una libreria per machine learning e data mining
 Apache Pig: un linguaggio di alto livello ed un framework per lanalisi di flussi dati e
calcolo parallelo
 Apache Spark: un motore di ricerca veloce per Hadoop. Spark fornisce un semplice
modello di programmazione che supporta diverse tipologie di applicazioni tra cui ETL
(Extract, Transform, Load), machine learning, stream processing e calcolo di grafici.
DATA SCHEMA
 I dati possono essere acquisiti in vari formati strutturati,
non strutturati, testo, binari, .
 Hadoop utilizza una nuova gestione del dato chiamato
schema: lo schema 竪 un insieme di istruzioni o un
template che a partire dal dato immagazzinato tira fuori
un risultato da mostrare allutente finale o da sottoporre
a nuove trasformazioni
 Rispetto allimmagazzinamento relazionale il dato viene
salvato una sola volta e quello che cambia 竪 la
visualizzazione che ne viene prodotta verso lutente
finale
 Schema possono utilizzare molti modelli computazionali
come ad esempio le reti neurali, la logica fuzzy, ..
Il modello MAP REDUCE (map reduce
pattern)
 Si compone di tre fasi
 MAPPA (Map)
 Rimescola (Shuffle)
 Riduci (Reduce)
 Nel video della pagina seguente questi fasi sono presentate per un algoritmo che
calcolo quante volte un anno 竪 presente in un file immagazzinato in HDFS. Il file
竪 diviso in pi湛 blocchi, ognuno salvato su un differente nodo.
 Si vuole sapere quante volte ad esempio il 2002 竪 citato
Video Map Reduce
https://www.youtube.com/watch?v=FHVuRxJpiwI
Apache PIG
 Apache PIG si basa su HDFS e Map Reduce
 Pu嘆 processare dati in ogni formato tabellare, tab separetd, formati nativi. Possono
essere aggiunte primitive per il processamento dei dati
 Operazioni sui dati: relazionali, cartelle nidificate, semistrutturati, destrutturati
 Pu嘆 girare su macchina singola, in pseudo-cluster, cluster o in ambiente cloud
 Fornisce un motore di ricerca per effettuare analisi su flussi di dati con le modalit del
calcolo parallelo
 Include un linguaggio Latin Pig per eseguire operazioni su i dati
 Pig latin include operazioni con Keyword comuni come FILTER, JOIN SORT, GROUP,
FOREACH, LOAD, STORE,  per facilitare lapprendimento per chi viene da linguaggi
tipo script o SQL
  un linguaggio molto potente che riduce i tempi di sviluppo ed esprime complesse
trasformazioni di dati in poche righe di codice
PIG LATIN
 Pig LATIN 竪 un linguaggio che permette di descrivere come il dato proveniente
da uno o pi湛 input deve essere processato, immagazzinato e veicolato verso uno
o pi湛 output.
 PIG LATIN 竪 un linguaggio a grafo aciclico diretto (DAG), in altre parole non ha
cicli come lSQL. Quindi non ci sono istruziono tipo: if, loop, for
 PIG LATIN permette di addizionare User Defined Functions (UDF) da altri
linguaggi, questo permette di avere librerie con funzioni per i calcoli statistici e
data mining
 Un classico script in PIG Latin si compone di
 Unoperazione di LOAD che carica I dati da uno o pi湛 sorgenti
 Una serie di trasformazioni sul dato (FILTER, GROUP, FOREACH,..)
 Unoperazione di STORE che immagazina il risultato finale
 Unoperazione di DUMP che mostra il risultato verso lutente finale
Apache SPARK
 Spark 竪 un framework open-source.  scritto in Scala che 竪 un linguaggio
funzionale implementato per girare su una Java Virtual machine
 Evita colli di bottiglia in quanto il dato 竪 distribuito quando si immagazzina
  simile ad Hadoop Map Reducer in quanto alloca gli ordini di processamento sui
nodi dove il dato 竪 immagazzinato
 Pu嘆 immagazzinare i dati nella memoria dei nodi dato
  molto versatile in quanto pu嘆 utilizzare una ricca collezione di API fornite
tramite JAVA, SCALA, PYTHON. Dispone anche di shell, scritte in PYTHON e
SCALA
 Occorrono meno righe di codice se confrontato con Hadoop MR
 In SPARK si possono utilizzare in unico ambiente: SQL, primitive per il flusso dati
ed algoritmi analitici complessi
Set di dati distribuiti resilienti (Resilient
Distributed Datasets - RDD)
 In ingegneria, la resilienza 竪 la capacit di un materiale di assorbire energia di
deformazione elastica
 Ogni driver Spark ha la possibilit di lanciare operazioni in parallelo su un cluster
 Il driver 竪 il programma che contiene la funzione main(). Definisce anche quali
sono gli insiemi dei dati dove eseguire le operazioni
 Per eseguire le operazioni Spark gestisce un insieme di nodi (esecutori), cos狸 le
operazioni verranno eseguite in parallelo su di essi
 Il programma Driver per accedere a Spark usa un oggetto SparkContext, che
agisce come connettore verso il cloud. Una volta che viene inizializzato pu嘆
iniziare a costruire un RDD (Resilient Distributed Datasets)
RDD in Spark
 Un RDD 竪 una collezione di elementi distribuita
 Spark crea un RDD, oppure lo trasforma, oppure esegue dei calcoli su un RDD
per avere un risultato
 Gli RDD sono
 Collezioni di oggetti sparsi allinterno di un cluster o di un cloud
 Collezioni derivate da trasformazioni ( ad esempio la mappature o la lista estratta
da oggetti immagazzinati in precedenza)
 Spark provvede alla capacit di controllare la persistenza di questi oggetti (ad
esempio alcuni possono essere in RAM)
 Se alcuni RDD vengono fortuitamente distrutti, Spark provvede a ricostruirli
Operazioni SPARK su RDD
 Le operazioni che si possono fare in Spark
sugli RDD sono di due tipi
 Trasformazioni: da un RDD ritorna un altro
RDD attraverso operazioni tipo map, filter,
join
 Azioni: operazioni che ritornano un
risultato o lo immagazzinano come ad
esempio count, reduce, collect.
FINE PRESENTAZIONE
Grazie per la cortese attenzione
Fonti. BIG DATA from data to decisions. Queensland University of Technology

More Related Content

What's hot (20)

Selling MDM to Leadership: Defining the Why
Selling MDM to Leadership: Defining the WhySelling MDM to Leadership: Defining the Why
Selling MDM to Leadership: Defining the Why
Profisee
際際滷s: Taking an Active Approach to Data Governance
際際滷s: Taking an Active Approach to Data Governance際際滷s: Taking an Active Approach to Data Governance
際際滷s: Taking an Active Approach to Data Governance
DATAVERSITY
Hadoop Tutorial For Beginners
Hadoop Tutorial For BeginnersHadoop Tutorial For Beginners
Hadoop Tutorial For Beginners
Dataflair Web Services Pvt Ltd
Building a Neural Machine Translation System From Scratch
Building a Neural Machine Translation System From ScratchBuilding a Neural Machine Translation System From Scratch
Building a Neural Machine Translation System From Scratch
Natasha Latysheva
Infographic: Data Governance Best Practices
Infographic: Data Governance Best Practices Infographic: Data Governance Best Practices
Infographic: Data Governance Best Practices
Enterprise Management Associates
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Anastasija Nikiforova
Data Governance Powerpoint Presentation 際際滷s
Data Governance Powerpoint Presentation 際際滷sData Governance Powerpoint Presentation 際際滷s
Data Governance Powerpoint Presentation 際際滷s
際際滷Team
Data Science: Past, Present, and Future
Data Science: Past, Present, and FutureData Science: Past, Present, and Future
Data Science: Past, Present, and Future
Gregory Piatetsky-Shapiro
Summary introduction to data engineering
Summary introduction to data engineeringSummary introduction to data engineering
Summary introduction to data engineering
Novita Sari
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
ANOOP V S
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Simplilearn
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Edureka!
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
Osman Ali
Big Data & Data Science
Big Data & Data ScienceBig Data & Data Science
Big Data & Data Science
BrijeshGoyani
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
joelcrabb
Privacy preserving machine learning
Privacy preserving machine learningPrivacy preserving machine learning
Privacy preserving machine learning
Micha Ku添ba
Data science | What is Data science
Data science | What is Data scienceData science | What is Data science
Data science | What is Data science
ShilpaKrishna6
Gartner: Seven Building Blocks of Master Data Management
Gartner: Seven Building Blocks of Master Data ManagementGartner: Seven Building Blocks of Master Data Management
Gartner: Seven Building Blocks of Master Data Management
Gartner
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache Spark
Databricks
Data stage interview questions and answers|DataStage FAQS
Data stage interview questions and answers|DataStage FAQSData stage interview questions and answers|DataStage FAQS
Data stage interview questions and answers|DataStage FAQS
BigClasses.com
Selling MDM to Leadership: Defining the Why
Selling MDM to Leadership: Defining the WhySelling MDM to Leadership: Defining the Why
Selling MDM to Leadership: Defining the Why
Profisee
際際滷s: Taking an Active Approach to Data Governance
際際滷s: Taking an Active Approach to Data Governance際際滷s: Taking an Active Approach to Data Governance
際際滷s: Taking an Active Approach to Data Governance
DATAVERSITY
Building a Neural Machine Translation System From Scratch
Building a Neural Machine Translation System From ScratchBuilding a Neural Machine Translation System From Scratch
Building a Neural Machine Translation System From Scratch
Natasha Latysheva
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Data Lake or Data Warehouse? Data Cleaning or Data Wrangling? How to Ensure t...
Anastasija Nikiforova
Data Governance Powerpoint Presentation 際際滷s
Data Governance Powerpoint Presentation 際際滷sData Governance Powerpoint Presentation 際際滷s
Data Governance Powerpoint Presentation 際際滷s
際際滷Team
Summary introduction to data engineering
Summary introduction to data engineeringSummary introduction to data engineering
Summary introduction to data engineering
Novita Sari
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
ANOOP V S
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Simplilearn
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Who is a Data Scientist? | How to become a Data Scientist? | Data Science Cou...
Edureka!
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
Osman Ali
Big Data & Data Science
Big Data & Data ScienceBig Data & Data Science
Big Data & Data Science
BrijeshGoyani
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
joelcrabb
Privacy preserving machine learning
Privacy preserving machine learningPrivacy preserving machine learning
Privacy preserving machine learning
Micha Ku添ba
Data science | What is Data science
Data science | What is Data scienceData science | What is Data science
Data science | What is Data science
ShilpaKrishna6
Gartner: Seven Building Blocks of Master Data Management
Gartner: Seven Building Blocks of Master Data ManagementGartner: Seven Building Blocks of Master Data Management
Gartner: Seven Building Blocks of Master Data Management
Gartner
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache Spark
Databricks
Data stage interview questions and answers|DataStage FAQS
Data stage interview questions and answers|DataStage FAQSData stage interview questions and answers|DataStage FAQS
Data stage interview questions and answers|DataStage FAQS
BigClasses.com

Similar to Appunti di big data (20)

Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
Massimo Romano
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
Consulthinkspa
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & Analytics
Davide Mauri
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
Gino Farisano
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
Massimiliano Dess狸
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
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
Vincenzo Manzoni
Hadoop in action!
Hadoop in action!Hadoop in action!
Hadoop in action!
Gabriele Lombari
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
DavideFegez
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cache
Luigi Fugaro
Big Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di MelenBig Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di Melen
comunicareonline
Erlug
ErlugErlug
Erlug
Linuxaria.com
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
Davide Ciambelli
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Amazon Web Services
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
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
jampslide
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
gioacchinolonardo
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative  al Sistema di Catalogazione del progetto MESSIAHInterfacce applicative  al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Costantino Landino
Hadoop SAR
Hadoop SARHadoop SAR
Hadoop SAR
Alessandro Pagliaro
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meeting
guest67beeb9
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
Massimo Romano
Big data - stack tecnologico
Big data -  stack tecnologicoBig data -  stack tecnologico
Big data - stack tecnologico
Consulthinkspa
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & Analytics
Davide Mauri
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
Gino Farisano
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
Massimiliano Dess狸
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
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
Vincenzo Manzoni
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
DavideFegez
Redis - Non solo cache
Redis - Non solo cacheRedis - Non solo cache
Redis - Non solo cache
Luigi Fugaro
Big Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di MelenBig Data e la forza degli eventi - Intervento di Melen
Big Data e la forza degli eventi - Intervento di Melen
comunicareonline
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
Davide Ciambelli
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ci嘆 che serve nella confusione: comprendere i Big Data con l'analisi AWS
Amazon Web Services
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
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
jampslide
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
gioacchinolonardo
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative  al Sistema di Catalogazione del progetto MESSIAHInterfacce applicative  al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Costantino Landino
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meeting
guest67beeb9

Appunti di big data

  • 1. Big Data Introduzione allanalisi di grandi quantit di dati con tecnologie di tipo HADOOP
  • 2. Cosa 竪 Big Data La gestione dei dati pu嘆 comportare query su dati strutturati allinterno di database di grandi dimensioni, oppure ricerche su file system distribuiti od infine operazioni di manipolazione, visualizzazione, trasferimento e cancellazione di file e directory distribuite su pi湛 server. Lanalisi computazionale comporta lo sviluppo di metodi ed algoritmi scalabili per la gestione e l'analisi di Big Data. Per scalabilit, intendiamo metodi che rimangono veloci, flessibili ed efficienti anche quando la dimensione dell'insieme di dati cresce. L'analisi dei dati e la modellazione pu嘆 comportare la riduzione dimensionale, la suddivisione (clustering), la classificazione (ranking), la previsione e la possibilit di future estrazioni. La Visualizzazione pu嘆 coinvolgere modalit grafiche che forniscono informazioni su grandi quantit di dati, ricchi di informazioni visive con riepiloghi dei risultati, dove lanalisi visuale talvolta 竪 il momento stesso in cui i dati vengono valutati.
  • 3. Le 3V variet, velocit, volume Variet: i dati possono essere strutturati e non strutturati, provenienti da sorgenti interne, esterna o pubbliche Velocit: di generazione, di acquisizione, di processamento e gestione Volume: la quantit dei dati prodotti Da valutare anche Complessit: intesa come differenti formati, diverse strutture e diverse sorgenti di provenienza. Valore: costo del dato, sia la produzione, limmagazzinamento e talvolta lacquisto. La veridicit del dato: 竪 importante chi certifica il dato. Il BIG DATA di oggi sar il LITTLE DATA di domani (tutto dipende dalla capacit computazionale a disposizione)
  • 4. Big Data Analytics Analitico : 竪 la scoperta di modelli significativi allinterno dei dati (meangiful pattern) Le analisi analitiche possono portare a riconoscere modelli di dati che possono essere utili per predire eventi futuri oppure spiegare eventi passati ad esempio lincrocio di banche dati fiscali 竪 servito a rintracciare comportamenti fraudolenti Invece lanalisi dei comportamenti utente su un sevizio di WEB-TV o IP-TV, serve a predire le loro abitudine televisive Per approfondire: http://stattrak.amstat.org/2014/07/01/bigdatasets/
  • 5. La ruota del BIG DATA
  • 6. Come affrontare BIG DATA Lesplosione della produzione ed immagazzinamento di dati che si 竪 avuto negli ultimi venti anni ha portato allo sviluppo di molteplici metodologie, algoritmi e tecnologie per affrontare queste problematiche Big data analytics: lutilizzo di algoritmi matematici, statistiche e machine learning (apprendimento evolutivo di sistemi computazionali) per analizzare dati prodotti sempre con maggiore velocit, variet, volume e complessit Big models: sviluppo di nuove teorie e metodi che si basano su modelli finalizzati allutilizzo ed interpretazione del dato New Insights: provvedere a ridurre le differenze tra teoria e pratica fornendo soluzioni che offrono un modello collaborativo tra organizzazioni interconnesse e multidisciplinari
  • 7. GESTIRE BIG DATA CON HADOOP SQL, HADOOP e MAP REDUCE sono tre strumenti comuni per gestire grandi quantit di dati HADOOP si compone di diversi tool HDFS (HADDOP DISTRIBUTED FILE SYSTEM) 竪 un file system distribuito su cluster o su cloud HADOOP MAP REDUCE 竪 un pattern per analizzare dati in ambienti cloud APACHE PIG 竪 un framework costruito in ambiente HADOOP (per scherzare si pu嘆 dire che come un maiale mangia dati e produce report e non si butta via niente) APACHE SPARK 竪 un motore di ricerca per processare dati distribuiti in larga scala
  • 8. Apache Hadoop Apache Hadoop 竪 un framework che consente l'elaborazione distribuita di grandi insiemi di dati attraverso cluster di servers, oppure sui servizi di cloud computing, come Amazon Elastic Compute Cloud (EC2). Questo 竪 possibile attraverso lutilizzo di modelli di programmazione semplici. stato progettato per scalare da singolo server a migliaia di macchine distribuite, ognuna delle quali offre capacit di calcolo e di immagazzinamento. Rileva e gestisce gli errori a livello di strato applicativo. I suoi principali componenti sono HDFS MAP REDUCE
  • 9. Confronto MAP REDUCE - SQL HADOOP pu嘆 gestire sia dati strutturati che non strutturati Se lavori con dati strutturati le due tecnologie sono complementari, in quanto SQL si pu嘆 utilizzare su HADOOP come motore di ricerca Mentre HADOOP lavora su cluster esistenti (ad esempio raccogliendo file di log da batterie di server) per avere un RDBMS relazionale devi comprare un Hardware apposito Hadoop utilizza il principio key-value invece della relazione fra tabelle SQL 竪 un linguaggio dichiarativo di alto livello mentre MAP REDUCE si basa su linguaggi funzionali
  • 10. Come funziona HDFS Blocchi: un file in ingresso viene suddiviso in blocchi e salvato su pi湛 nodi cluster Ogni blocco 竪 scritto una solo volta e pu嘆 essere processato attraverso MAP REDUCE framework I dati sono automaticamente replicati in caso di problemi I nodi si dividono in nodi nome e nodi data Sui nodi nome 竪 annotato a che file appartiene e dove 竪 salvato il blocco Sui nodi data sono salvati i blocchi
  • 11. Lecosistema del BIG DATA I BIG DATA presentano diverse framework, librerie, strumenti e piattaforme con cui poter operare Frameworks: Hadoop Ecosystem, Apache Spark, Apache Storm, Apache Pig, Facebook Presto Patterns: Map Reduce, Actor Model, Data Pipeline Piattoforme: Cloudera, Pivotal, Amazon Redshift, Google Compute Engine, Elastichsearch Tra questi sottolineiamo Apache Mahout: una libreria per machine learning e data mining Apache Pig: un linguaggio di alto livello ed un framework per lanalisi di flussi dati e calcolo parallelo Apache Spark: un motore di ricerca veloce per Hadoop. Spark fornisce un semplice modello di programmazione che supporta diverse tipologie di applicazioni tra cui ETL (Extract, Transform, Load), machine learning, stream processing e calcolo di grafici.
  • 12. DATA SCHEMA I dati possono essere acquisiti in vari formati strutturati, non strutturati, testo, binari, . Hadoop utilizza una nuova gestione del dato chiamato schema: lo schema 竪 un insieme di istruzioni o un template che a partire dal dato immagazzinato tira fuori un risultato da mostrare allutente finale o da sottoporre a nuove trasformazioni Rispetto allimmagazzinamento relazionale il dato viene salvato una sola volta e quello che cambia 竪 la visualizzazione che ne viene prodotta verso lutente finale Schema possono utilizzare molti modelli computazionali come ad esempio le reti neurali, la logica fuzzy, ..
  • 13. Il modello MAP REDUCE (map reduce pattern) Si compone di tre fasi MAPPA (Map) Rimescola (Shuffle) Riduci (Reduce) Nel video della pagina seguente questi fasi sono presentate per un algoritmo che calcolo quante volte un anno 竪 presente in un file immagazzinato in HDFS. Il file 竪 diviso in pi湛 blocchi, ognuno salvato su un differente nodo. Si vuole sapere quante volte ad esempio il 2002 竪 citato
  • 15. Apache PIG Apache PIG si basa su HDFS e Map Reduce Pu嘆 processare dati in ogni formato tabellare, tab separetd, formati nativi. Possono essere aggiunte primitive per il processamento dei dati Operazioni sui dati: relazionali, cartelle nidificate, semistrutturati, destrutturati Pu嘆 girare su macchina singola, in pseudo-cluster, cluster o in ambiente cloud Fornisce un motore di ricerca per effettuare analisi su flussi di dati con le modalit del calcolo parallelo Include un linguaggio Latin Pig per eseguire operazioni su i dati Pig latin include operazioni con Keyword comuni come FILTER, JOIN SORT, GROUP, FOREACH, LOAD, STORE, per facilitare lapprendimento per chi viene da linguaggi tipo script o SQL un linguaggio molto potente che riduce i tempi di sviluppo ed esprime complesse trasformazioni di dati in poche righe di codice
  • 16. PIG LATIN Pig LATIN 竪 un linguaggio che permette di descrivere come il dato proveniente da uno o pi湛 input deve essere processato, immagazzinato e veicolato verso uno o pi湛 output. PIG LATIN 竪 un linguaggio a grafo aciclico diretto (DAG), in altre parole non ha cicli come lSQL. Quindi non ci sono istruziono tipo: if, loop, for PIG LATIN permette di addizionare User Defined Functions (UDF) da altri linguaggi, questo permette di avere librerie con funzioni per i calcoli statistici e data mining Un classico script in PIG Latin si compone di Unoperazione di LOAD che carica I dati da uno o pi湛 sorgenti Una serie di trasformazioni sul dato (FILTER, GROUP, FOREACH,..) Unoperazione di STORE che immagazina il risultato finale Unoperazione di DUMP che mostra il risultato verso lutente finale
  • 17. Apache SPARK Spark 竪 un framework open-source. scritto in Scala che 竪 un linguaggio funzionale implementato per girare su una Java Virtual machine Evita colli di bottiglia in quanto il dato 竪 distribuito quando si immagazzina simile ad Hadoop Map Reducer in quanto alloca gli ordini di processamento sui nodi dove il dato 竪 immagazzinato Pu嘆 immagazzinare i dati nella memoria dei nodi dato molto versatile in quanto pu嘆 utilizzare una ricca collezione di API fornite tramite JAVA, SCALA, PYTHON. Dispone anche di shell, scritte in PYTHON e SCALA Occorrono meno righe di codice se confrontato con Hadoop MR In SPARK si possono utilizzare in unico ambiente: SQL, primitive per il flusso dati ed algoritmi analitici complessi
  • 18. Set di dati distribuiti resilienti (Resilient Distributed Datasets - RDD) In ingegneria, la resilienza 竪 la capacit di un materiale di assorbire energia di deformazione elastica Ogni driver Spark ha la possibilit di lanciare operazioni in parallelo su un cluster Il driver 竪 il programma che contiene la funzione main(). Definisce anche quali sono gli insiemi dei dati dove eseguire le operazioni Per eseguire le operazioni Spark gestisce un insieme di nodi (esecutori), cos狸 le operazioni verranno eseguite in parallelo su di essi Il programma Driver per accedere a Spark usa un oggetto SparkContext, che agisce come connettore verso il cloud. Una volta che viene inizializzato pu嘆 iniziare a costruire un RDD (Resilient Distributed Datasets)
  • 19. RDD in Spark Un RDD 竪 una collezione di elementi distribuita Spark crea un RDD, oppure lo trasforma, oppure esegue dei calcoli su un RDD per avere un risultato Gli RDD sono Collezioni di oggetti sparsi allinterno di un cluster o di un cloud Collezioni derivate da trasformazioni ( ad esempio la mappature o la lista estratta da oggetti immagazzinati in precedenza) Spark provvede alla capacit di controllare la persistenza di questi oggetti (ad esempio alcuni possono essere in RAM) Se alcuni RDD vengono fortuitamente distrutti, Spark provvede a ricostruirli
  • 20. Operazioni SPARK su RDD Le operazioni che si possono fare in Spark sugli RDD sono di due tipi Trasformazioni: da un RDD ritorna un altro RDD attraverso operazioni tipo map, filter, join Azioni: operazioni che ritornano un risultato o lo immagazzinano come ad esempio count, reduce, collect.
  • 21. FINE PRESENTAZIONE Grazie per la cortese attenzione Fonti. BIG DATA from data to decisions. Queensland University of Technology