Indice
Distributed Data Analysis and Mining (DDAM) 2018-2019
Professor: Roberto Trasarti - roberto.trasarti@isti.cnr.it
Course Description
English:
Mining with big data or big data mining has become an active research area. Running current analytical methodologies and software tools on a single personal computer cannot efficiently deal with very large datasets. Distributed computing platforms are a scalable solution for big data mining, obtained by dividing a large problem into smaller ones that are concurrently solved by many single processor/machine. This course aims at teaching the basic theoretical concepts behind the MapReduce distributed computing paradigm, and Hadoop in particular, and at building expertise in the practical usage of high performance computing tools for data engineering, analysis and mining. In particular the students will learn how the classical data mining algorithms can be applied on Big Data using Hadoop (Spark). Real (and open source) datasets will be used to present examples and to let the students build their own projects. Half of the lessons will consists of practice (Lab), and half of lectures.
Italiano:
Il Data Mining sui Big data è oggi un’area di ricerca molto attiva. L'applicazione delle attuali metodologie analitiche e strumenti software su un singolo personal computer non può gestire in modo efficiente dataset di grandi dimensioni. Le piattaforme di calcolo distribuito sono una soluzione scalabile per il big data mining, attraverso la scomposizione del problema in operazioni più piccole che possono essere eseguite parallelamente su singoli processori / macchine. Il corso propone l’insegnamento di concetti base del paradigma di calcolo distribuito tramite MapReduce dal punto di vista teorico e pratico, in particolare ci si focalizzerà su Hadoop per lo sviluppo di competenze nell'uso di strumenti di calcolo ad alte prestazioni per il data engineering, l’analisi di dati e l’utilizzo di tecniche di data mining. Gli studenti impareranno come i classici algoritmi di data mining possono essere applicati sui Big Data usando Hadoop (Spark). Set di dati reali (e open source) verranno utilizzati per presentare esempi e per consentire agli studenti di costruire i propri progetti. Una metà delle lezioni consisterà in esercitazioni (laboratorio) e una metà delle lezioni sarà teorica.
Syllabus:
- Motivations: What is and Why Distributed Data Mining is needed in a Big Data Scenario
- Recall parallel and distributed computing notions
- Introduction to Hadoop
- Hadoop Ecosystem
- Interacting with HDFS (LAB)
- Map-Reduce Programming Patterns
- Recall Python programming (LAB)
- Basic Spark (LAB)
- Data Analysis with Spark (LAB)
- Data Mining and Machine Learning with Spark (LAB)
- SparkSQL (LAB)
- Example on how to prepare a project
- Real Case Studies
Schedule: https://drive.google.com/open?id=1Y0dCjM8r9Qx1eW6dTdKJp0jUl8rUaSRCDExUiDQo3aQ
Temporary slides: https://drive.google.com/drive/folders/1eqqQ_fpaMe1eEJmB8u5XoIPfAFYpLvxN?usp=sharing
Exam
Students group project (report + short presentation with slides) and individual test (multiple choices). The Project will be considered as 60% of the final grade, the individual test 40%.
Selected projects will be awarded and published on http://www.SoBigData.eu portal to be public.
Laboratory
Student should bring their own laptop. Access to a remote server with pre-installed software will be provided.
Software & Links
- Python website: http://www.python.it/download/ (Install the 2.x. Do not install 3.x). Instructions https://goo.gl/yBRjkG
- Installing Hadoop single node on your machine (without VM): https://goo.gl/KGME9t (Linux/OS) https://goo.gl/7Bkcnr (Win)
- Spark http://spark.apache.org/downloads.html (Can be installed without hadoop)