Servizi per la didattica
PORTALE DELLA DIDATTICA

Big data for Internet applications

01TUVBH

A.A. 2019/20

Course Language

Inglese

Course degree

Course structure
Teaching Hours
Lezioni 45
Esercitazioni in laboratorio 15
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Garza Paolo
Big data for Internet applications
Professore Associato ING-INF/05 20 0 0 0 1
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
2019/20
In the big data era traditional data management and analytic systems are no more adequate to efficiently and effectively analyzed large amount of internet-related data. Hence, novel data models, programming paradigms and database management systems are needed. The course addresses the challenges arising in the Big Data era, examining in depth big data processing and knowledge extraction for big data. Specifically, the course covers how to collect, store, retrieve, and analyze big data to mine useful knowledge for internet applications. The course covers not only data analytics aspects but also novel programming paradigms (e.g., MapReduce, Spark RDD-based programs) and discusses how they can be exploit to support engineers to extract knowledge from data. Practical examples of big data techniques for data science applied to internet measurements will be presented.
In the big data era traditional data management and analytic systems are no more adequate to efficiently and effectively analyzed large amount of internet-related data. Hence, novel data models, programming paradigms and database management systems are needed. The course addresses the challenges arising in the Big Data era, examining in depth big data processing and knowledge extraction for big data. Specifically, the course covers how to collect, store, retrieve, and analyze big data to mine useful knowledge for internet applications. The course covers not only data analytics aspects but also novel programming paradigms (e.g., MapReduce, Spark RDD-based programs) and discusses how they can be exploit to support engineers to extract knowledge from data. Practical examples of big data techniques for data science applied to internet measurements will be presented.
The course aims at providing: • Knowledge of the main 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 big data frameworks (Spark RDD and Dataset-based programming). • Ability to implement scalable data analytics processes, based on data mining and machine learning algorithms, for internet applications (e.g., network traffic data). • Knowledge of the (relational and non-relational) databases systems that are used to store and query big data.
The course aims at providing: • Knowledge of the main 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 big data frameworks (Spark RDD and Dataset-based programming). • Ability to implement scalable data analytics processes, based on data mining and machine learning algorithms, for internet applications (e.g., network traffic data). • Knowledge of the (relational and non-relational) databases systems that are used to store and query big data.
Basic object-oriented programming skills
Basic object-oriented programming skills
Lectures (45 hours) • Introduction to Big data: characteristics, problems, opportunities (3 hours) • Hadoop and its ecosystem: infrastructure and basic components (3 hours) • Apache Spark Architecture (3 hours) • Spark RDD- and dataset-based programming paradigm (16.5 hours) • Streaming data analysis: Spark Streaming (3 hours) • Data mining and Machine learning libraries: Spark MLlib (4.5 hours) • GraphX and advanced libraries on Spark (4.5 hours) • Databases for Big data: data models, design, and querying (e.g., HBase and MongoDB) (4.5 hours) • Introduction to network traffic data analytics (3 hours) Laboratory activities (15 hours) • Developing of applications by means of Spark (15 hours)
Lectures (45 hours) • Introduction to Big data: characteristics, problems, opportunities (3 hours) • Hadoop and its ecosystem: infrastructure and basic components (3 hours) • Apache Spark Architecture (3 hours) • Spark RDD- and dataset-based programming paradigm (16.5 hours) • Streaming data analysis: Spark Streaming (3 hours) • Data mining and Machine learning libraries: Spark MLlib (4.5 hours) • GraphX and advanced libraries on Spark (4.5 hours) • Databases for Big data: data models, design, and querying (e.g., HBase and MongoDB) (4.5 hours) • Introduction to network traffic data analytics (3 hours) Laboratory activities (15 hours) • Developing of applications by means of Spark (15 hours)
The course consists of Lectures (45 hours) and Laboratory sessions (15 hours). The laboratory sessions are focused on the main topics of the course (Apache Spark, MLlib, NoSQL databases) (15 hours). The Laboratory sessions allow experimental activities on the most widespread big data frameworks.
The course consists of Lectures (45 hours) and Laboratory sessions (15 hours). The laboratory sessions are focused on the main topics of the course (Apache Spark, MLlib, NoSQL databases) (15 hours). The Laboratory sessions allow experimental activities on the most widespread big data frameworks.
Copies of the slides used during the lectures, examples of exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the Teaching Portal. Reference books: • Matei Zaharia, Bill Chambers. Spark: The Definitive Guide (Big Data Processing Made Simple). O'Reilly Media, 2018. • Advanced Analytics and Real-Time Data Processing in Apache Spark. Packt Publishing, 2018. • Tom White. Hadoop, The Definitive Guide. (Third edition). O'Reilly Media, 2015.
Copies of the slides used during the lectures, examples of exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the Teaching Portal. Reference books: • Matei Zaharia, Bill Chambers. Spark: The Definitive Guide (Big Data Processing Made Simple). O'Reilly Media, 2018. • Advanced Analytics and Real-Time Data Processing in Apache Spark. Packt Publishing, 2018. • Tom White. Hadoop, The Definitive Guide. (Third edition). O'Reilly Media, 2015.
Modalità di esame: prova scritta; prova orale facoltativa; elaborato scritto individuale;
The exam aims at assessing (i) the ability of the students to write distributed programs to process and analyze big data by means of novel programming paradigms (the Spark RDD- and dataset-based programming paradigm) and frameworks and (ii) the knowledge of the students of the main concepts 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 includes two mandatory parts and an optional oral exam. The two mandatory parts are (i) a written exam and (ii) the evaluation of an individual report on the practices assigned during the course. PART I - WRITTEN EXAM The written part of the exam lasts 2 hours and it is composed of two subparts: - 2 programming exercises (Spark RDD- and dataset-based programming) (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 written part is open book (notes and books can be used during the exam). PART II - INDIVIDUAL REPORT The second part of the exam consists in preparing an individual report on the practices assigned during the course and developed in laboratories. The report aims at evaluating the ability of the students to implement data analytics processes for analyzing big data. The evaluation of the report is based on the clarity of the report and on technical correctness and efficiency of the proposed and implemented solutions. The maximum grade for the individual report is 31. PART III - ORAL EXAM - OPTIONAL The optional oral part includes questions on the main topics of the course. The evaluation of the oral exam is based on the completeness and correctness of the answers. The maximum grade for the oral exam is 31. FINAL GRADE Final grade without the oral exam -------------------------------------------- The exam is passed if (i) the grade of the written exam is greater than or equal to 18 points and (ii) the grade of the individual report is greater than or equal to 18 points. The final grade is a weighted average between the evaluations of the written part (80%) and the individual report (20%). Specifically, the final grade, without the optional oral exam, is given by the following weighted average: grade of the written exam*0.8 + grade of the report*0.2 Final grade with the (optional) oral exam -------------------------------------------------------- The exam is passed if (i) the grade of the written exam is greater than or equal to 18 points, (ii) the grade of the individual report is greater than or equal to 18 points, and (iii) the grade of the oral exam is greater than or equal to 18 points. The final grade is given by the following weighted average: (grade of the written exam*0.8 + grade of the report*0.2)*0.8 + grade of the oral exam*0.2
Exam: written test; optional oral exam; individual essay;
The exam aims at assessing (i) the ability of the students to write distributed programs to process and analyze big data by means of novel programming paradigms (the Spark RDD- and dataset-based programming paradigm) and frameworks and (ii) the knowledge of the students of the main concepts 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 includes two mandatory parts and an optional oral exam. The two mandatory parts are (i) a written exam and (ii) the evaluation of an individual report on the practices assigned during the course. PART I - WRITTEN EXAM The written part of the exam lasts 2 hours and it is composed of two subparts: - 2 programming exercises (Spark RDD- and dataset-based programming) (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 written part is open book (notes and books can be used during the exam). PART II - INDIVIDUAL REPORT The second part of the exam consists in preparing an individual report on the practices assigned during the course and developed in laboratories. The report aims at evaluating the ability of the students to implement data analytics processes for analyzing big data. The evaluation of the report is based on the clarity of the report and on technical correctness and efficiency of the proposed and implemented solutions. The maximum grade for the individual report is 31. PART III - ORAL EXAM - OPTIONAL The optional oral part includes questions on the main topics of the course. The evaluation of the oral exam is based on the completeness and correctness of the answers. The maximum grade for the oral exam is 31. FINAL GRADE Final grade without the oral exam -------------------------------------------- The exam is passed if (i) the grade of the written exam is greater than or equal to 18 points and (ii) the grade of the individual report is greater than or equal to 18 points. The final grade is a weighted average between the evaluations of the written part (80%) and the individual report (20%). Specifically, the final grade, without the optional oral exam, is given by the following weighted average: grade of the written exam*0.8 + grade of the report*0.2 Final grade with the (optional) oral exam -------------------------------------------------------- The exam is passed if (i) the grade of the written exam is greater than or equal to 18 points, (ii) the grade of the individual report is greater than or equal to 18 points, and (iii) the grade of the oral exam is greater than or equal to 18 points. The final grade is given by the following weighted average: (grade of the written exam*0.8 + grade of the report*0.2)*0.8 + grade of the oral exam*0.2


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