1. Introduction à l’analytique des données massives — 3 heures
Définitions, concepts et caractéristiques des données massives. Les dimensions du Big Data : volume, vélocité, variété, véracité et valeur. Défis et opportunités liés à l’exploitation de grandes quantités de données. Architectures d’analytique des données massives. Survol des technologies et des approches utilisées dans le cours. Configuration d’un environnement de développement et d’expérimentation.
2. Gestion et représentation des données massives — 3 heures
Données structurées, semi-structurées et non structurées. Modèles de données et formats de représentation. Stockage distribué. Principes de partitionnement, réplication, tolérance aux pannes et localité des données. Préparation, intégration et transformation des données massives. Enjeux liés à la qualité, à l’intégration et à la gouvernance des données.
3. Stockage distribué et écosystème Hadoop — 3 heures
Principes des systèmes distribués de stockage et de traitement. Architecture Hadoop. Hadoop Distributed File System (HDFS). Stockage et accès aux données à grande échelle. Introduction à l’écosystème Hadoop et à certains de ses outils, notamment Hive, HBase, Sqoop et Flume. Comparaison des approches de stockage et de traitement selon les caractéristiques des données et des applications.
4. Apache Spark et analytique distribuée — 3 heures
Architecture et principes fondamentaux d’Apache Spark. Modèle de calcul distribué. RDD, DataFrame et Dataset. Transformations et actions. Partitionnement, parallélisme et exécution distribuée. Principes de programmation Spark. Comparaison des RDD et des DataFrames. Considérations de performance et d’optimisation.
5. Spark SQL et traitement des données à grande échelle — 3 heures
Interrogation et transformation de données massives avec Spark SQL. Schémas et catalogues. Jointures, agrégations et opérations sur de grands volumes de données. Lecture et écriture de différents formats de données. Intégration de sources de données hétérogènes. Optimisation des requêtes et stratégies de partitionnement.
6. Apprentissage automatique distribué — 3 heures
Principes de l’apprentissage automatique à grande échelle. Distribution des calculs et des données. Régression linéaire et régression par moindres carrés. Descente de gradient distribuée. Communication entre les nœuds et hiérarchies de calcul. Compromis entre calcul, stockage et communication. Évaluation et comparaison de modèles dans un environnement distribué.
7. Classification et traitement des variables catégorielles — 3 heures
Modèles de classification linéaire et régression logistique. Interprétation probabiliste et prédiction. Représentation des variables catégorielles. Encodage One-Hot et Feature Hashing. Préparation des données pour l’apprentissage distribué. Évaluation des modèles de classification et analyse des performances à grande échelle.
8. Recommandation et filtrage collaboratif — 3 heures
Principes des systèmes de recommandation. Données implicites et explicites. Filtrage collaboratif. Modélisation des interactions entre utilisateurs et éléments. Factorisation et méthodes de recommandation à grande échelle. Enjeux de passage à l’échelle, de sparsité et de qualité des recommandations. Évaluation des systèmes de recommandation.
9. Pipelines d’apprentissage automatique avec Spark — 3 heures
Bibliothèques d’apprentissage automatique de Spark. Transformers, Estimators et paramètres. Construction de pipelines d’apprentissage automatique. Prétraitement, extraction de caractéristiques, entraînement et évaluation des modèles. Gestion des expériences et réutilisation des pipelines. Mise en œuvre de chaînes de traitement reproductibles pour l’analytique à grande échelle.
10. Sélection de modèles et optimisation — 3 heures
Sélection de modèles et de caractéristiques. Séparation des données et validation croisée. Sélection et optimisation des hyperparamètres. Recherche systématique et méthodes d’optimisation. Évaluation comparative des modèles. Compromis entre précision, temps de calcul, utilisation des ressources et capacité de passage à l’échelle.
11. Traitement et analytique des flux de données — 3 heures
Définition et caractéristiques des flux de données. Traitement en continu et analytique temps réel. Architectures et systèmes de traitement de flux. Principes de Spark Streaming et de Spark Structured Streaming. Modèle de programmation, sources et destinations de données. Fenêtrage, agrégation et gestion des données arrivant en continu. Applications de l’analytique temps réel.
12. Mise en production et MLOps — 3 heures
Mise en production de modèles d’apprentissage automatique. Cycle de vie MLOps. Gestion des expériences et suivi des modèles. Intégration de MLflow et Spark. Registre des modèles. Déploiement et gestion des versions. Surveillance et suivi des modèles en production. Reproductibilité, automatisation et maintien de la performance des systèmes analytiques.
L’ordre des thèmes et la répartition du contenu peuvent être adaptés en cours de session en fonction de la progression du cours, des besoins pédagogiques, de l’évolution des technologies et de circonstances particulières.