% INF8200 — Syst. et infrastructures pour les données massives % UQAM — Département d'informatique % Plan de cours — Hiver 2021 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Zaier, Zied PK-4115 Groupes: 020 Description du cours ==================== Objectifs --------- Ce cours prépare les étudiants aux systèmes et infrastructures pour les données massives et les familiarise avec les activités fondamentales liées aux données massives. Ses objectifs sont principalement : - Comprendre les fondements des systèmes répartis et parallèles, systèmes indispensables à la mise en œuvre de solutions pour le stockage et le traitement des données massives. - Comprendre les principes, méthodes et mécanismes des plateformes de stockage et de traitement de données massives (par ex., MapReduce, Hadoop, Spark) et les outils associés. - Identifier et expérimenter certaines des solutions technologiques disponibles. - Se familiariser avec certains systèmes à la fine pointe de la recherche dans le domaine. Sommaire du contenu ------------------- - Fondements des systèmes répartis et parallèles: modèles, architectures, communications, nommage, coordination, cohérence, fiabilité, réplication; - Infrastructures de stockage des données massives: systèmes et services de stockage de données, systèmes de fichiers répartis, infonuagique, gestion de transactions, entrepôts de données, intégration, fragmentation et duplication de données; - Infrastructures de traitement des données massives: collecte et pré-traitement des données, nettoyage et intégration, analyse et visualisation, modèles de traitement, évaluation des performances, plateformes et outils de traitement distribué, systèmes de traitement de flux de données. Modalité d'enseignement ----------------------- Séances magistrales; Exercices pratiques; Études de cas; Projet de session. Modalités d'évaluation ====================== Outil d'évaluation Pondération Échéance -------------------- ------------- -------------- Projet 1 20% a determiner Projet 2 20% a determiner Projet 3 20% a determiner Quiz 1 10% a determiner Quiz 2 10% a determiner Quiz 3 10% a determiner Quiz 4 10% a determiner INFORMATIONS IMPORTANTES ------------------------ La qualité du français constitue un critère d'évaluation (pour un maximum de 10%). En cas de retard dans la remise des travaux, une pénalité de 5% par jour ouvrable sera appliquée. Un retard de plus de cinq jours ouvrables ne sera pas accepté. Les règlements concernant le plagiat seront strictement appliqués. Pour plus de renseignements, consultez le site suivant : Calendrier détaillé du cours ============================ Semaine 1 --------- - Décrire l'évolution des bases de données - Identifier les motivations liées à la mise en place d'une solution pour les données massives\ - Comprendre les fondements des systèmes répartis et parallèles - Faire la différence entre un projet big data et un projet d'intelligence d'affaires traditionnel Semaine 2 --------- - Comprendre comment les éléments de base de l'architectures pour les données massives (BDAF) - Écosystème pour les données massives - Composantes architecturelles pour les données massives - Présenter les types de mises en œuvre d'un environnement pour les données massives Semaine 3 --------- - Comprendre l'architecture type d'un cluster de traitement pour les données massives - Identifier une distribution d'infrastructure pour les données massives (sur-site/hors-site/ infonuagique) - Comprendre les différents déploiements architecturels pour les données massives - Comprendre les limites, avantages et inconvénients de chaque modèle architectural Semaine 4 --------- - Revue comparative des fournisseurs infonuagique - Comprendre le choix d'une architecture et d'une distribution appropriée pour une mise en œuvre - Mise en place d'une machine de développement avec solution de virtualisation (basé sur Hadoop) - Installer et configurer un environnement pour les données massives selon la distribution (basé sur Hadoop) Semaine 5 --------- - Comprendre le système de fichiers HDFS (Hadoop Distributed File System) - Description du paradigme MapReduce - Comprendre les bases du modèle MapReduce Semaine 6 --------- - Comprendre le système de fichiers HDFS (Hadoop Distributed File System) - Description du paradigme MapReduce - Comprendre les bases du modèle MapReduce Semaine 7 --------- - Description des différentes phases du modèle de programmation MapReduce - Compréhension des limites du modèle mapReduce - Maîtrise du flux des données entre les étapes Map et Reduce - Écrire un code MapReduce avec le langage approprié Semaine 8 --------- - Identifier les différents outils Hadoop pour traiter des données - Description des différents outils Hadoop dédiés au traitement des données massives - Présentation de PIG - Présentation de HIVE Semaine 9 --------- - Comprendre le rôle de PIG - Introduction à la syntaxe du langage Pig Latin - Écriture /exécution d'un code PIG latin sur les données - Importation et Exportation des données vers et à partir de l'espace de stockage Semaine 10 ---------- - Compréhension du rôle de HIVE - Introduction à la syntaxe du langage HQL - Manipuler des structures de données complexes en Hive - Écriture /exécution de plusieurs requêtes de données en langage HQL sur des données - Importation et Exportation des données vers et à partir de l'espace de stockage Semaine 11, 12 et 13 -------------------- - Présentation de Spark - Description des objets RDD - Présentation du langage Spark SQL (SparkQL) - Composition d'une requête SparkSQL - Écriture de plusieurs requêtes d'interrogation sur des données - Importation et Exportation des données vers et à partir de l'espace de stockage Semaines 13, 14 et 15 --------------------- - Présentation d'Apache Kafka - Utilisation d'Apache Kafka Médiagraphie ============ Obligatoire ----------- - Notes de cours disponibles sur le site Moodle du cours Ressources complémentaires -------------------------- - Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Martin Kleppmann. Paperback -- Illustrated. 2017. - Hadoop: The Definitive Guide, 4th Edition ‐ Tom White, O'Reilly Media, Inc. 2015. - Hadoop 2 Quick‐Start Guide: Learn the Essentials of Big Data Computing in the Apache Hadoop 2 Ecosystem, Douglas Eadline, pearson education, 2015 - Big Data Analytics Beyond Hadoop: Real‐Time Applications with Storm, Spark, and More Hadoop Alternatives-- Vijay Srinivas Agneeswaran, Ph.D, Pearson FT Press. 2014.