CLOUD COMPUTING AND BIG DATA
Academic Year 2021/2022 - 2° YearCredit Value: 6
Scientific field: INF/01 - Informatica
Taught classes: 40 hours
Term / Semester: 2°
Learning Objectives
- Knowledge and understanding (Conoscenza e capacità di comprensione). Students will acquire a precise knowledge and understanding of fundamental concepts in the field of cloud computing, chiefly through a guided exploration of the main technological solutions available from the public Cloud, focusing on resources and services oriented to data storage, analysis, visualization and machine learning.
- Applying knowledge and understanding (Capacità di applicare conoscenza e comprensione). Based on the operating knowledge acquired, students will develop an effective "toolset" of practical, application-oriented skills in leveraging the Cloud to cater for the typical needs of a data scientist: i.e. processing large datasets with a view to revealing meaningful patterns and relationships. Cloud implementations of state-of-the-art tools and frameworks like, e.g., MapReduce/Hadoop or TensorFlow, will be employed
- Making judgements (Autonomia di giudizio). The student will develop the ability to choose the suitable Cloud-based resource for the Data Science scenario of interest, properly estimating the ensuing costs and performance gains, as well as consciously assessing the tradeoffs involved.
- Communication skills (Abilità comunicative). The student will acquire the communication skills required to express and discuss, at a rigorous technical level, the benefits and (mostly cost-related) downsides of the Cloud for Data Science applications. In addition, the student will gain the ability, for presentation purposes, to effectively highlight the features of very large datasets by means of cloud-based visualization services.
- Learning skills (Capacità di apprendimento). Students will become capable of profitably consulting technical documentation concerning Data Science-oriented Cloud services, in order to concretely put them to effective use
Course Structure
Lectures will mainly consist in live sessions dealing with using the Cloud for the purposes of data analysis and machine learning. These sessions will be carried out by the lecturer and replicated, with suggested variations, by the students, on available equipment. Laboratory practice aims at enabling students to refine their understanding of the technologies presented and acquire autonomous operating skills. As a framework and guidance, lecture notes will be displayed during lectures and shared with students. Notes will provide a precise record of the material presented, as well as pointers to the required reference technical documentation.
Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus. Learning assessment may also be carried out on line, should the conditions require it.
Required Prerequisites
Fundamentals of data analysis and machine learning. Basic skills in using a desktop computing environment and the Web.
Attendance of Lessons
Attending classes is not mandatory but strongly recommended.
Detailed Course Content
This course aims at enabling the data scientist to put into practice on the public Cloud principles and methodologies learnt in courses concerned with data storage, processing, analysis, and machine learning. Indeed, in these areas, present day industrial and enterprise applications typically require storage volumes, computing power and bandwidth at a scale impossible or (even for large organizations) impractical to attain with proprietary equipment. In realistic Data Science scenarios, it is therefore hardly avoidable for the data scientist to resort to the Cloud, i.e. storage and computing services offered by third-party providers over the public Internet, with a pay-per-use cost model.
In a nutshell, quoting reference [2], we may say that: “The Cloud turbocharges Data Science” .
Google Cloud is the platform of choice, for its ease of use and free availability to students.
SQL on Google Cloud and BigQuery: performing structured queries on BigQuery and Cloud SQL. Importing data from CSV files.
Processing big data with a Google cloud shell: installing and using a Unix-based shell
Data acquisition into Google Cloud: downloading selected data from a large public data set over the internet, and processing it with Google App Engine.
Google Cloud Dataflow: processing a real-time, real-world data set, and storing the results on the cloud. Case study: real-time geospatial data.
Visualization with Google Data Studio: Visualizing data stored in Google Cloud SQL. Visualizing Real Time Geospatial Data.
Google Datalab for Data Analysis: loading text data into Google BigQuery; rapid exploratory data analysis with Google Cloud Datalab notebooks.
Google Cloud AI Platform: using Google AI Platform to perform queries and present the data.
Evaluating a Data Model: partitioning a data set into a training set and a test set; evaluating various predictive models.
Machine Learning with Spark on Google Cloud Dataproc. Implementing logistic regression through machine learning on Apache Spark running on a Google Cloud Dataproc. Developing a model from a multivariable dataset.
Machine Learning with TensorFlow: developing and evaluating prediction models.
MapReduce e Hadoop on Google Cloud: exploiting parallelism and machine clusters.
Textbook Information
- Google Inc. Student Training: Kick-Start Your Cloud Trainings. https://edu.google.com/programs/students/training.
- Lakshmanan, V. Data Science on the Google Cloud Platform. O'Reilly Media, Inc. 2018.
- Lecture notes, to be made available through the Studium portal or the University's Teams platform.
Course Planning
Subjects | Text References | |
---|---|---|
1 | Google Cloud (GC): Performing structured queries on BigQuery | Lecture notes |
2 | GC: Performing structured queries on Cloud SQL | Lecture notes |
3 | Processing big data with a cloud (Unix) shell | Lecture notes |
4 | GC: Importing big data from CSV files | Lecture notes |
5 | Downloading large public data sets to GC | Lecture notes |
6 | Processing data with the Google App Engine | Lecture notes |
7 | GC Dataflow: processing a real-time, real-world data set | Lecture notes |
8 | Case study: real-time geospatial data on GC | Lecture notes |
9 | GC Data Studio: Visualizing data from Google Cloud SQL | Lecture notes |
10 | GC Datalab: Data Analysis and Google BigQuery | Lecture notes |
11 | GC Datalab notebooks for rapid exploratory data analysis | Lecture notes |
12 | GC AI Platform: queries and data presentation | Lecture notes |
13 | Machine Learning (ML) with Spark on GC | Lecture notes |
14 | ML with Spark on GC | Lecture notes |
15 | ML with TensorFlow on GC: developing and evaluating predictive models | Lecture notes |
16 | MapReduce e Hadoop on Google Cloud: exploiting parallelism and machine clusters | Lecture notes |
Learning Assessment
Learning Assessment Procedures
Laboratory session individually performed by the student vis-à-vis the lecturer. The student will be required to carry out the Cloud-based procedures demonstrated during the lectures, as well as to discuss their significance, and critically assess their outcomes. Learning assessment may also be carried out on line, should the conditions require it.
Examples of frequently asked questions and / or exercises
See material available on the Studium portal.