- Ammissione : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/ammissione/
- Programma di studio : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/programma-di-studio/
- Struttura degli studi : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/struttura-degli-studi/
- Prospettive : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/prospettive/
- Mobilità : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/mobilita/
- Persone : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/persone/
- Ammissione : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/ammissione/
- Programma di studio : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/programma-di-studio/
- Struttura degli studi : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/struttura-degli-studi/
- Prospettive : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/prospettive/
- Mobilità : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/mobilita/
- Persone : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/persone/
Programma di studio
Descrizione del corso
Tornare al modulo-
Obiettivi
A la fin du cours, l'étudiant-e devrait avoir une base solide sur la structure et l'implémentation d'une chaîne de traitement de données distribuéés, qui lui servira de guide pour la conception de ses propres projets. Plus précisément, les objectifs sont :
- Définir les motivations, opportunités et challenges du stockage et traitement de données distribuées
- Expliquer concepts de base des systèmes de données distribuées : Théorème CAP, réplication, partitionnement et consensus
- Décrire la structure d'une chaîne de traitement des données (''data pipeline'') à travers le Data Engineering Lifecycle
- Distinguer les modèles de stockage distribués (object, file, block, stream) et expliquer de fonctionnement détaillé de HDFS et Kafka ainsi que les concepts de base de l'object storage
- Comparer les formats de données selon leur niveau de structure et différencier les formats de stockage structurés orientés row/record, column et table
- Qualifier les données pour l'ingestion en termes de type de système source et caractéristiques pour proposer un modèle d'ingestion de données approprié à une situation
- Expliquer les concepts de base du stream processing (processing/event time, triggers, watermarks, windowing, exactitude) et les illustrer au travers du modèle Datafow
- Comparer des abstractions de stockage/transformation/présentation comme Data Lake, Data Warehouse, Data Lakehouse, Streaming Kappa/Lambda, Data Integration Platform, Modern Data stack
- Implémenter l'ingestion, le stockage, la transformation et le serving de données distribuées en ''batch'' et ''streaming'' à travers des technologies actuelles comme Spark, Beam, Airbyte, Kafka, HDFS, Avro, Parquet, Iceberg, Trino, ....
-
contenuto
Ce cours explore une des tâches principales du Data Engineer : construire des chaînes de traitement de données (data pipelines). Lorsque l'on veut créer des systèmes traitant des masses considérables de données, on a besoin de distribuer leur stockage et traitement.
On se concentre sur les étapes suivantes : génération, ingestion, stockage, transformation et serving (présentation) des données distribuées. Le cours est composé de cours magistral/discussions/exercices, de travaux pratiques, et d'un mini-projet commun au module.
Le cours contient les chapitres suivants :
- Motivations et concepts du distribué
- Data Engineering et Data Engineering Lifecycle (''Data pipeline'')
- Stockage distribué et batch processing 1: Stockage fichier/bloc/objet distribué, MapReduce, Data Lake, ...
- Stockage distribué et batch processing 2: Formats structurés, Spark
- Serving : Moteurs SQL distribués (Hive, Trino, ...) et formats ''table'' (Iceberg, ...)
- Stockage de streams (écosystème Kafka)
- Génération (systèmes source) et ingestion ''batch'' et ''streaming''
- Stream Processing: concepts, modèle Dataflow, Apache Beam
- Mini-projet intégré avec les autres cours du module pour construire une pipeline end-to-end
Metodo d'insegnamento e volume di lavoro
Titolo del corso
Metodi di valutazione
- prove in itinere prove scritte, lavori pratici / valuatazione delle relazioni di laboratorio, mini-projet commun au module (note indépendante par cours)
Metodo di calcolo della nota del corso
La note du contrôle continu est la moyenne pondérée des évaluations du semestre.
Letteratura di riferimento
Seront fournies sur la plateforme de cours Cyberlearn
Docente/i e/o coordinatore/i
Philippe Joye