Servizi per la didattica
PORTALE DELLA DIDATTICA

Big data: architectures and data analytics

01QYDOV, 01QYDBH, 01QYDNG, 01QYDOQ, 01QYDPE

A.A. 2018/19

Course degree

Master of science-level of the Bologna process in Computer Engineering - Torino
Master of science-level of the Bologna process in Ict For Smart Societies - Torino
Master of science-level of the Bologna process in Mathematical Engineering - Torino
Espandi

Course structure
Teaching Hours
Lezioni 40
Esercitazioni in aula 5
Esercitazioni in laboratorio 15
Tutoraggio 15
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Garza Paolo - Corso 1 Ricercatore a tempo det. L.240/10 art.24-B ING-INF/05 40 5 30 0 4
Garza Paolo - Corso 2 Ricercatore a tempo det. L.240/10 art.24-B ING-INF/05 40 5 0 0 4
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2018/19
Parte generale
Nell’era dei big data i tradizionali sistemi per la gestione e l’analisi dei dati non sono più adeguati. Quindi, al fine di gestire e sfruttare la grande mole di dati eterogenei a disposizione, sono necessari nuovi modelli per i dati, nuovi paradigmi di programmazione, nuovi sistemi informatici e nuove architetture di rete. Il corso affronta le sfide poste dai big data. In particolare, il corso coprirà le soluzioni usate per acquisire, memorizzare, interrogare e analizzare grandi moli di dati al fine di estrarre conoscenza e informazione utile. Il corso non copre solo gli aspetti di modellazione e analisi dei dati ma anche nuovi paradigmi di programmazione (ad esempio Map Reduce e Spark RDDs) e descrive come possano essere utilizzati per supportare i big data scientists durante l’estrazione di informazione utile dai dati.
In the big data era traditional data management and analytic systems are no more adequate. Hence, to manage and fruitfully exploit the huge amount of available heterogeneous data, novel data models, programming paradigms, information systems, and network architectures are needed. The course addresses the challenges arising in the Big Data era. Specifically, the course will cover how to collect, store, retrieve, and analyze big data to mine useful knowledge and insightful hints. The course covers not only data model and data analytics aspects but also novel programming paradigms (e.g., MapReduce, Spark RDDs) and discusses how they can be exploit to support big data scientists to extract insights from data.
Il corso ha l’obiettivo di fornire: • Conoscenza delle principali caratteristiche delle infrastrutture e dei sistemi distribuiti usati per acquisire e gestire grandi moli di dati (ad esempio Hadoop e Spark) • Capacità di scrivere programmi distribuiti per analizzare grandi moli di dati tramite nuovi paradigmi di programmazione: MapReduce e Spark Resilient Distributed Dataset • Conoscenza delle basi di dati (relazionali e non) per la memorizzazione dei big data
The course aims at providing: • Knowledge of the main problems and opportunities arising in the big data context and technological characteristics of the infrastructures and distributed systems used to deal with big data (e.g., Hadoop and Spark). • Ability to write distributed programs to process and analyze data by means of novel programming paradigms: Map Reduce and Spark programming paradigms • Knowledge of the (relational and non-relational) databases systems that are used to store big data
Competenze di programmazione a oggetti, conoscenza del linguaggio Java e conoscenza dei concetti fondamenti delle basi di dati (modello relazionale e linguaggio SQL).
Object-oriented programming skills, Java language, and basic knowledge of traditional database concepts (relational model and SQL language).
Lezioni in aula (45 ore) • Introduzione: caratteristiche dei big data, problemi e opportunità (3 ore). • Il sistema Hadoop e il suo ecosistema: infrastruttura e componenti base (3 ore). • Programmazione secondo il paradigma Map Reduce (10.5 ore). • Spark: l’architettura di Spark e la programmazione basata sui Resilient Distributed Dataset (13.5 ore). • Spark Steaming: analisi di dati streaming (4.5 ore). • Librerie di data mining e machine learning per big data: MLlib (4.5 ore) • Basi di dati per i Big data: modelli dei dati non relazionali, progettazione di basi di dati non relazionali (ad esempio HBase), linguaggi di interrogazione (6 ore). Laboratori (15 ore) • Sviluppo di applicazioni tramite l’uso di Hadoop e Spark (15 ore).
Lectures (45 hours) • Introduction to Big data: characteristics, problems, opportunities (3 hours) • Hadoop and its ecosystem: infrastructure and basic components (3 hours) • Map Reduce programming paradigm (10.5 hours) • Spark: Spark Architecture and RDD-based programming paradigm (13 hours) • Spark Steaming: Streaming data analysys (6 hours) • Data mining and Machine learning libraries: MLlib (6 hours) • Databases for Big data: data models, design, and querying (e.g., HBase) (3 hours) Laboratory activities (15 hours) • Developing of applications by means of Hadoop and Spark (15 hours)
Parte specifica Prof. Paolo Garza
Il corso consta di lezioni ed esercitazioni in aula (45 ore) e di attività di laboratorio (15 ore). Le esercitazioni in laboratorio sono relative a principali argomenti del corso (Map Reduce, Spark e MLlib). L'attività di laboratorio permette di sperimentare l'uso dei prodotti open-source più diffusi.
The course consists of Lectures (45 hours) and Laboratory sessions (15 hours). The laboratory sessions are focused on the main topics of the course (Map Reduce, Spark, and MLlib) (15 hours). The Laboratory sessions allow experimental activities on the most widespread open-source products.
Testi di riferimento: • Tom White. Hadoop, The Definitive Guide. (Third edition). O’Reilly, Yahoo Press, 2012. • Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia. Learning Spark: Lightning-Fast Big Data Analytics. O’Reilly, 2015. • Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills. Advanced Analytics with Spark. O’Reilly, 2014. Sono disponibili copie dei lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e i manuali per le esercitazioni di laboratorio. Tutto il materiale didattico è scaricabile da un sito web o attraverso il portale.
Reference books: • Tom White. Hadoop, The Definitive Guide. (Third edition). O’Reilly, Yahoo Press, 2012. • Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia. Learning Spark: Lightning-Fast Big Data Analytics. O’Reilly, 2015. • Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills. Advanced Analytics with Spark. O’Reilly, 2014. Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the Portal.
Modalità di esame: prova scritta;
L'esame è costituito da una prova scritta della durata di 2 ore. La prova scritta comprende due parti: - 2 esercizi di programmazione (programmazione basata su MapReduce e RDD) da risolvere utilizzando il linguaggio di programmazione Java (27 punti totali) - 2 domande a risposta multipla, relative a tutti gli argomenti trattati durante il corso (4 punti totali) La valutazione degli esercizi di programmazione si basa sulla correttezza della soluzione proposta e sulla sua efficienza. Le domande a risposta multipla sono utilizzate per valutare la comprensione dei concetti teorici presentati durante il corso. Durante la prova gli studenti possono consultare testi e appunti. L’esame è considerato superato se la votazione conseguita durante la prova scritta è maggiore o uguale a 18.
Exam: written test;
The exam aims at assessing (i) the ability of the students to write distributed programs to process and analyze big data by means of two novel programming paradigms (the Map Reduce and the Spark programming paradigms) and (ii) the knowledge of the students of the main issues related to the big data topic and the technological infrastructures and distributed systems, including scalable relational and non-relational databases systems, that are used to deal with big data. The exam consists of a written exam that lasts 2 hours. Specifically, the written exam is composed of two parts: - 2 programming exercises (Map Reduce- and RDDs-based programming) to be solved using the Java language (27 points) - 2 multiple choice questions on all the topics addressed during the course (4 points). The programming exercises aim at evaluating the ability of the students to write distributed programs to analyze big data by means of the novel programming paradigms that are introduced in the course. The multiple choice questions are used to evaluate the knowledge of the theoretical concepts of the course and in particular the knowledge of the characteristics of the main technological infrastructures and distributed systems (Hadoop and Spark), including scalable relational and non-relational databases systems, that are used to deal with big data. The evaluation of the programming exercises is based on the correctness and efficiency of the proposed solutions. For each multiple choice question, the students achieve two points if the answer is correct and zero points if the answer is wrong or missing. The exam is open book (notes and books can be used during the exam). The exam is passed if the mark of the written exam is greater than or equal to 18 points.


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il