Big Data Tecnologie, metodologie per l`analisi di dati massivi

Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Subsection 1
MapReduce
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
La programmazione distribuita è molto pesante
Soluzione: MapReduce
MapReduce viene incontro alle sfide della programmazione
distribuita.
Le 3 regole
Archivia i dati con ridondanza su nodi multipli per
garantire la persistenza e la loro disponibilità
Effettua il calcolo in prossimità dei dati per minimizzare il
costo di trasferimento dei dati
Usa un modello semplice di programmazione per
nascondere la complessità dell’architettura
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Conteggio Parole
words(doc.txt)| sort| uniq -c
Map
Scandire un termine alla volta
Estrarre da ogni record un valore dalla chiave
Raggruppare per chiavi
Ordinare e Distribuire
Ridurre
Aggregare, sommare, filtrare o trasformare
Scrivere il risultato su file
Il principio è sempre lo stesso, Map e Reduce cambiano a
seconda del problema
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Map Reduce
Dichiarare il numero dei Map e di Reduce, una chiave per un solo Reduce
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Map Reduce
map(key, value):
//key: document id; value: il testo del documento
for each word w in value:
emit(w, 1)
reduce(key, values):
// key:una parola w; value: un intero come contatore
result = 0
for each count v in values:
result += v
emit(w, result)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Map Reduce
In breve
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
MapReduce
Scheduling & Data flow
Cosa non deve fare il programmatore, ma che fa il sistema
Partizione dei dati
Scheduling dei task per l’esecuzione del programma tra le
varie macchine
Ordinare per chiave i dati
Assegnare i dati (intermedi) ai nodi.
Gestire i guasti dei nodi.
Gestire la comunicazione delle macchine
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 4
La tecnica di clustering LSH
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Applicazioni della similarità
Molti problemi di data mining possono essere espressi come
ricerca di insiemi "simili":
Pagine duplicate o quasi duplicate.
Pagine simili, ad esempio, per la classificazione secondo
argomenti.
Suggerimento di termini simili (sinonimi o contrari o
acronimi).
Suggerimento di argomenti a utenti di Twitter con profili
simili (sistemi di raccomandazione).
Caso duale: individuare comunità di profili con interessi
comuni.
Risoluzione entità. Gianni Amati su Facebook e
Giambattista Amati su Twitter sono le stesse persone?
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Documenti)Reti,Clustering
Modello generativo
della rete e
delle comunità
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
L’architettura per LSH
Altamente parallelizzabile e distribuibile!
Il
documento
Insiemi di parole di
lunghezza k che
occorrono nel
documento
Signatures: vettori
ridotti di interi che
rappresentano gli
insiemi, e riflettono
la loro similarità
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Le coppie di
signature su cui
verificare la
similarità
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Partizione in bande
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Partizione in bande
Colonne 1 e 6 sono simili
Colonne 4 e 5 sono simili
Colonne 1 e 5 non sono simili
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Probabilità S-shaped
Probabilità p(t, b, r ), soglia di similarità di Jaccard t, numero di bande b, ampiezza r .
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Probabilità S-shaped
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Introdurre l’effetto banda
La tecnica delle "bande" per le matrici di signature si
possono estendere con un metodo più generale.
Obiettivo: generare una curva di probabilità a S con
rapidità a piacere (diminuendo il più possibile i falsi positivi
e i falsi negativi)
AND di hash come per le righe di una banda
OR di hash come per le bande
Applicare a cascata una sequenza di AND e OR
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Implementazione a 4 job, si impenna la curva a S
Errori quasi nulli per una soglia compresa tra 45% - 0.55%
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
LSH con Map Reduce
map(key, value):
//key: intero identificativo d del documento;
//value: il vettore di interi (la Signature di d)
per ogni banda i e porzione z della Signature:
emit(h(z,i) , d)
il sistema raggruppa in liste di collisione!
reduce(key, values):
// key:l’hash di una porzione di signature e la banda;
//values: la lista C = [d] dei documenti d con la stessa
porzione z sulla stessa banda i
emit(1, C = [d])
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Implementazione LSH
Dimensione e Tempi
1
Utilizziamo diverse funzioni hash indipendenti (circa
1,200) per creare una signature per ogni
documento/profilo/termine.
2
Le signature vengono immagazzinate in un’altra matrice
(matrice di Signature).
Calcolo della Jaccard per il Clustering massivo di 1,900,000 twe
File
output
Impl
tempi (h)
Invertito 72,000 PB Stand.
2,005,556
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 5
Le tecniche di Affiliation Graph Model (BIG
CLAM, Coda)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Affiliazione)Rete
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
CODA
Scopre comunità (clustering massivo)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
CODA
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 6
Visualizzazione
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione delle Reti
I software esistenti sono molto lenti
I software esistenti gestiscono pochi nodi e pochi archi.
Noi siamo arrivati a 500,000 nodi e migrando a una
tecnologia SVG a 1ML.
Sono difficili da personalizzare
Overload visivo e cognitivo
Nodi e archi devono essere linkable e searchable(visual
search engine)
Dato un arco visualizzare la comunicazione tra i due nodi
Dato un nodo fornire le informazioni strutturate e testuali sul
nodo
Data un’interrogazione visualizzare i nodi e gli archi rilevanti
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Visualizzazione comunità di Twitter
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Il Prossimo futuro
Previsione di Gartner (4 febbraio 2016)
Entro il 2018, la maggior parte delle aziende e degli
analisti delle organizzazioni avranno accesso a strumenti
self-service per preparare i dati per l’analisi come
componenti delle moderne piattaforme di BI.
Entro il 2018, la maggior parte delle offerte stand-alone
di elaborazione self-service dei dati saranno
incluse/integrate in piattaforme analitiche end-to-end.
Entro il 2018, la scoperta della conoscenza dai dati sarà
basata su Hadoop, search e visualizzazione e
convergeranno a un’unica forma piattaforma di nuova
generazione che comprenderà la preparazione
self-service dei dati e la generazione di linguaggio
naturale.
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 7
Piattaforma Batch (Simone Angelini)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 8
Piattaforma Streaming (Marco Bianchi)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni
Il progetto SNOOPI Piattaforme di Big Data Distributed File System (DFS) La tecnica di clustering LSH Le tecniche di Affiliation G
Section 9
Progetto ISCOM-FUB: SNOOPI (Giuseppe
Marcone)
Giambattista Amati
Big Data: Tecnologie, metodologie per l’analisi di dati massivi
Fondazione Ugo Bordoni