Sistemi e Architetture per Big Data - A.A. 2017/18 Progetto 2: Analisi del dataset ACM DEBS Grand Challenge 2016 con Storm/Flink

Documenti analoghi
Savitar: Analisi di dati in tempo reale di una partita di calcio. Sistemi e architetture per Big Data

Sistemi Distribuiti e Cloud Computing A.A. 2016/17

Sistemi Distribuiti e Cloud Computing A.A. 2015/16

Sistemi Distribuiti e Cloud Computing A.A. 2017/18

Sistemi Distribuiti e Cloud Computing A.A. 2018/19

Sistemi Distribuiti Anno accademico 2010/11

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17

Google Apps for Education

Laurea Magistrale in Ingegneria Informatica - I anno

Sistemi Distribuiti Anno accademico 2009/10

Simple Social: implementazione di una

STP357: Impostazione del profilo di allerta (fornitore)

Tutorial per il docente per le impostazioni di base di un corso sulla piattaforma di elearning dell'istituto

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Studente (Cognome Nome):

Traccia delle soluzioni. Si consideri il seguente enunciato: Spett Ditta,

I/O e strutture di controllo

11:30 12:30 Dentro il catalogo - Marco Combetto - Informatica Trentina

Introduzione al corso

SAPIENZA Università di Roma, Facoltà di Ingegneria (sede di RIETI)

L'ambiente DB2 in LAB (e come collegarsi da remoto)

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Scritto da Scirpoli, Fava, Paolucci, Mazzeo Giovedì 19 Maggio :09 - Ultimo aggiornamento Giovedì 19 Maggio :41

Sistemi Distribuiti e Cloud Computing A.A. 2014/15

System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

JSON for Linked Data JSON-LD

ITIS Morosini apunti sulle GoogleApps APPUNTI SU

Non è stato assegnato nessun allegato alla documentazione della procedura.

Lab. di Sistemi Operativi - Esercitazione n 4- a.a Sed e Awk

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

ciclo di vita della soluzione (informatica) di un problema

Programmazione. Prof. Marco Bertini

GUIDA OPERATIVA REGISTRO DELLE LEZIONI

Google Apps for Education

Esercitazione 1 SQL: DDL e DML di base

Sperimentazione tecnologie big data per elaborazione e analisi dei testi (Big Data Text Analytics)

Calcolatori Elettronici e Sistemi Operativi

Architettura dei sistemi software

Guida per l utilizzo di STUDENTI IN AULA

Report della Procedura Lotto n. Lotto n 2 - U.O. 2 zona omogenea 11 (Chierese Carmagnolese),

Basi di dati II, primo modulo Prova parziale 22 aprile 2010 Compito A

Traccia n.1 Primo quesito La strada verso i sistemi di calcolo di classe Exascale: il candidato descriva brevemente l evoluzione nel tempo dei sistemi

Università Ca Foscari Dipartimento di informatica. Programmazione part-time. Esame Ocaml

LABORATORIO DI SISTEMI OPERATIVI

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Google Classroom. Piccola guida introduttiva. di Luigi Parisi - Servizio Marconi T.S.I.

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE

SIOPE+ - Linee Guida per gli Enti locali FVG

Esercitazione 3 Gnu Privacy Guard

Circ. n. 48 Treviglio, 11 novembre OGGETTO: Informativa per l uso di G Suite for Education e liberatoria per creazione account

matricola Nome Cognome firma punti Basi di Dati Schema logico relazionale e tabelle SQL - 1 Esercitazione con valutazione del 24 Ottobre 2007 Conosce

Parte II: Reti di calcolatori Lezione 7 (31)

Sistemi Distribuiti e Cloud Computing A.A. 2013/14

Lab ISW 2012/2013: Progetto

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

Università degli Studi di Roma Tor Vergata DIPARTIMENTO DI INGEGNERIA CIVILE E INGEGNERIA INFORMATICA

L informazione statistica ufficiale

Introduzione alle stringhe e algoritmi collegati

Report della Procedura ACQUISTO ARREDI PER UFFICIO n effettuata da Comune di Casatenovo

Guida Piattaforma E-learning per lo Studente

Livello applicazione. Fondamenti di Informatica

N. VIP: 54FBAA4231D6DEE8367A,

! Gnu Privacy Guard (GPG) " Principali funzionalità. ! Descrizione esercitazione. " Scopo " Interazione con il sistema

Introduzione a Matlab

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Programmazione. Prof. Marco Bertini

Laboratorio di Algoritmi

CSIM. Emiliano Casalicchio Csim - Emiliano Casalicchio 1

SERVIZIO INFORMATICO AMMINISTRATIVO

Documentazione della Procedura. Sommario

A.A. 2018/2019. Introduzione al Corso FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Laboratorio di Elementi di Bioinformatica

Allocazione dinamica della memoria

Introduzione al corso

INFORMAZIONI GENERALI SUL CORSO DI MATEMATICA DEL CONTINUO (Corso di laurea in Informatica Musicale, a.a 2015/16, 1 0 anno, 1 0 semestre)

Progetto Gennaio 2017

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Google Drive per lavoro condiviso Manuale d uso

DICEAA - Dipartimento di Ingegneria Civile, Edile - Architettura, Ambientale Corsi di Ingegneria Università degli Studi dell Aquila

FONDAMENTI DI RETI E TELECOMUNICAZIONI

Corso di Marketing di Rete - Prima Unità Didattica

Introduzione al corso

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011. Benvenuti al Corso!

Laboratorio di Alfabetizzazione Informatica - Simulazione d esame 29 aprile 2013

Progetti. Scelta e validità del progetto

Webinar Esse3 Lettera di referenza per ammissione ai dottorati

Report della Procedura Veicoli dell ente R.C auto garanzie accessorie e auto rischi diversi n effettuata da Provincia di Lecco

a.a. 2012/13 Laurea triennale in Scienze della Natura Matematica ed Elementi di Statistica Presentazione del corso e informazioni pratiche

PROCEDURA NEGOZIATA PER LA FORNITURA DI VESTIARIO PER IL PERSONALE DEGLI ASILI NIDO COMUNALI (LOTTO 2) - TRIENNIO

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura Anno Accademico

Report della Procedura All risks apparecchiature elettroniche n effettuata da Provincia di Lecco

Gestione On Line delle Domande

Transcript:

Sistemi e Architetture per Big Data - A.A. 2017/18 Progetto 2: Analisi del dataset ACM DEBS Grand Challenge 2016 con Storm/Flink Docenti: Valeria Cardellini, Matteo Nardelli Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata Requisiti del progetto Lo scopo del progetto è rispondere ad alcune query riguardanti il dataset DEBS 2016 Grand Challenge [2], utilizzando il framework Apache Storm o, in alternativa, Apache Flink. Il dataset Grand Challenge 2016 contiene dati provenienti da una rete sociale, che rappresentano un grafo dinamico. I dati per il Grand Challenge 2016 sono organizzati in quattro flussi separati, ciascuno dei quali è fornito come un file di testo. Il primo flusso di input, contenuto nel file friends.dat indica quando due utenti attivano una relazione di amicizia. Ogni riga del file ha il formato: ts, user id 1, user id 2 ts è il timestamp che indica quando la relazione di amicizia è stata stabilita; user id 1 è l identificatore del primo utente (intero senza segno a 32 bit); user id 2 è l identificatore del secondo utente (intero senza segno a 32 bit). Il secondo flusso di input, contenuto nel file posts.dat indica quando un utente crea un nuovo post. Ogni riga del file ha il formato: ts, post id, user id, post, user ts è il timestamp che indica quando il post è stato creato; post id è l identificatore del post (intero senza segno a 32 bit); user id è l identificatore dell utente che ha creato il post (intero senza segno a 32 bit); post è il contenuto del post (stringa); user è il nome dell utente che ha creato il post (stringa). 1

Il terzo flusso di input, contenuto nel file comments.dat indica quando un utente commenta un post. Ogni riga del file ha il formato: ts, comment id, user id, comment, user, comment replied, post commented ts è il timestamp che indica quando il commento è stato creato; comment id è l identificatore del commento (intero senza segno a 32 bit); user id è l identificatore dell utente che ha creato il commento (intero senza segno a 32 bit); comment è il contenuto del commento (stringa); user è il nome dell utente che ha creato il commento (stringa). comment replied è l identificatore del commento che viene commentato (intero senza segno a 32 bit), il campo è vuoto se la riga rappresenta un commento ad un post; post commented è l identificatore del post che viene commentato (intero senza segno a 32 bit), il campo è vuoto se la riga rappresenta un commento ad un commento. Il quarto flusso di input (likes.dat) non è usato nel progetto. Nei file di input i timestamp sono rappresentati nel formato YYYY-MM-DDTHH:MI:Sec.SSS+ZZZZ, ad es. 2010-02-22T13:56:38.686+0000. Per gli scopi di questo progetto, si utilizza la versione ridotta del dataset di DEBS 2016 [1]. Le misure riportate nel dataset ricoprono più di 2 anni ed 8 mesi (inizio: 2010-02-01T05:12:32, fine: 2012-10-20T15:47:53). Tutti gli eventi sono ordinati in base al proprio timestamp; gli eventi aventi lo stesso timestamp sono ordinati in modo casuale. Il progetto è dimensionato per un gruppo composto da 2 studenti; per gruppi composti da 1 oppure 3 studenti, si vedano le indicazioni specifiche. Supponendo di effettuare il replay dei dati, si chiede di rispondere alla seguenti query in tempo reale: 1. Analizzare le relazioni di amicizia che si creano all interno del social network, per ricavare statistiche sulla fascia oraria in cui queste relazioni si creano. L output della query riporta il numero di relazioni che si formano in ogni ora, secondo lo schema: t s, count h00, count h01,, count h22, c o u n t h 2 3 c o u n t h 0 0 / / numero d i r e l a z i o n i c r e a t e da 0 0 : 0 0 : 0 0 a 0 0 : 5 9 : 5 9 c o u n t h 0 1 / / numero d i r e l a z i o n i c r e a t e da 0 1 : 0 0 : 0 0 a 0 1 : 5 9 : 5 9 c o u n t h 2 3 / / numero d i r e l a z i o n i c r e a t e da 2 3 : 0 0 : 0 0 a 2 3 : 5 9 : 5 9 Tali statistiche aggregate dovranno essere calcolate sulle finestre temporali: 7 giorni (di event time), 2

dall avvio del social network. Si gestisca opportunamente il caso di relazione bidirezionale/monodirezionale, in modo da conteggiare una sola volta la creazione di un eventuale relazione bidirezionale (ad es. relazione di amicizia da A a B e relazione di amicizia da B ad A). 2. Fornire la classifica aggiornata in tempo reale dei 10 post che ricevono il numero maggiore di commenti (diretti). L output della classifica ha il seguente schema: t s, p o s t i d 1, num comments 1, p o s t i d 2, num comments 2,, p o s t i d 1 0, num comments 10 p o s t i d 1 / / i d d e l p o s t c l a s s i f i c a t o primo num comments 1 / / numero d i commenti d e l p o s t c l a s s i f i c a t o primo p o s t i d 1 0 / / i d d e l p o s t c l a s s i f i c a t o decimo num comments 10 / / numero d i commenti d e l p o s t c l a s s i f i c a t o decimo La classifica dovrà essere calcolata sulle finestre temporali: 1 ora (di event time), 7 giorni (di event time). 3. Fornire la classifica aggiornata in tempo reale dei 10 utenti più attivi all interno del social network. Il punteggio calcolato per ciascun utente si compone di tre parti ed è espressa nel formato (a, b, c), a è il numero di relazioni d amicizia create dall utente, b è il numero di post scritti dall utente, c è il numero di commenti scritti dall utente. Per la relazione d ordine tra gli utenti, si consideri il punteggio complessivo associato all utente, ovvero si consideri a + b + c come punteggio per l utente: ad es. dato l utente U 1 con (a 1, b 1, c 1 ) e l utente U 2 con (a 2, b 2, c 2 ), si ha che U 1 > U 2 se e solo se a 1 + b 1 + c 1 > a 2 + b 2 + c 2. L output della classifica ha il seguente schema: t s, u s e r 1, r a t i n g 1, u s e r 2, r a t i n g 2,, u s e r 1 0, r a t i n g 1 0 u s e r 1 / / i d d e l l u t e n t e c l a s s i f i c a t o primo r a t i n g 1 / / p u n t e g g i o c o m p l e s s i v o d e l l u t e n t e c l a s s i f i c a t o primo u s e r 1 0 / / i d d e l l u t e n t e c l a s s i f i c a t o decimo r a t i n g 1 0 / / p u n t e g g i o c o m p l e s s i v o d e l l u t e n t e c l a s s i f i c a t o decimo 3

La classifica dovrà essere calcolata sulle finestre temporali: 1 ora (di event time), 7 giorni (di event time). Si chiede inoltre di valutare sperimentalmente i tempi di latenza ed il throughput delle tre query durante il processamento sulla piattaforma di riferimento usata per la realizzazione del progetto, riportando tali tempi nella presentazione. La piattaforma di data stream processing può essere un nodo standalone con Apache Flink o Apache Storm oppure in alternativa è possibile utilizzare un servizio Cloud per Hadoop (ad es. Amazon EMR o Google Dataflow), usando i rispettivi grant a disposizione. Gli studenti interessati ad usare Google Dataflow o comunque un servizio Cloud di Google per il deployment dei framework usati sono invitati a richiedere l attivazione del grant (che non richiede un numero di carta di credito) ai docenti, segnalando lo username del proprio account Google. Opzionale: rispondere alla query 1 usando Kafka Streams e confrontare, sulla stessa piattaforma di riferimento, le prestazioni in termini di tempo di latenza e throughput delle query ottenute dai due framework. Per gruppi composti da 1 studente: si richiede di rispondere alle query 1 e 2. Per gruppi composti da 3 studenti: in aggiunta ai requisiti sopra elencati, si richiede di utilizzare un altro framework di data stream processing per rispondere ad una delle tre query (si suggerisce la query 2) e di confrontare le prestazioni in termini di latenza e throughput con quelle ottenute dal primo framework scelto. Svolgimento e consegna del progetto Comunicare ai docenti la composizione del gruppo entro giovedì 21 giugno 2018. Per ogni comunicazione via email è necessario specificare [SABD] nell oggetto (subject) dell email. Il progetto è valido solo per l A.A. 2017/18 e deve essere consegnato entro venerdì 6 luglio 2018 per poter raggiungere il punteggio massimo. La consegna del progetto consiste in: 1. link a spazio di Cloud storage o repository contenente il codice del progetto; 2. lucidi della presentazione orale, da inviare via email ai docenti dopo lo svolgimento della presentazione. 3. opzionale: relazione di lunghezza compresa tra le 4 e le 6 pagine, usando il formato ACM proceedings (https://www.acm.org/publications/proceedings-template) oppure il formato IEEE proceedings (https://www.ieee.org/conferences_events/conferences/ publishing/templates.html). La presentazione si terrà mercoledì 11 luglio 2018; ciascun gruppo avrà a disposizione massimo 15 minuti. 4

Valutazione del progetto I principali criteri di valutazione del progetto saranno: 1. rispondenza ai requisiti; 2. originalità; 3. organizzazione del codice; 4. efficienza; 5. organizzazione, chiarezza e rispetto dei tempi della presentazione orale. Riferimenti bibliografici [1] DEBS 2016 Grand Challenge: Small sample set. https://www.dropbox.com/s/ vo83ohrgcgfqq27/data.tar.bz2, 2018. [2] V. Gulisano, Z. Jerzak, S. Voulgaris, and H. Ziekow. The DEBS 2016 Grand Challenge. In Proc. of 10th ACM Int l Conf, on Distributed and Event-based Systems, DEBS 16, pages 289 292, 2016. 5