📋 Plan du Cours
- Framework Hadoop
- Écosystème Spark
- Métiers Big Data
- Stockage Big Data
- Architecture Lakehouse
- Composants Hadoop
- Traitements Spark
- Gestion ressources YARN
- Types de cluster
- DataFrame et RDD
📖 1. Framework Hadoop
🔑 Notions clés & Définitions
-
Hadoop (d’après ELANGA (2025)) : Framework Big Data permettant de réaliser des calculs distribués sur de très grands volumes de données en utilisant un environnement open source. Il s’appuie sur une architecture modulaire intégrant plusieurs composants pour répondre aux problématiques de stockage, traitement et analyse.
-
Scalabilité horizontale et verticale (d’après ELANGA (2025)) : Capacité d’un système à augmenter ses performances en ajoutant des ressources supplémentaires (horizontale) ou en renforçant celles existantes (verticale). Hadoop facilite la scalabilité horizontale via l’ajout de nœuds au cluster, permettant une gestion efficace de l’augmentation du volume de données.
-
Parallélisme de traitements (d’après ELANGA (2025)) : Technique permettant d’exécuter simultanément plusieurs opérations ou traitements sur différentes parties des données. Hadoop exploite ce principe notamment via MapReduce, répartissant les tâches sur plusieurs nœuds pour accélérer le traitement.
-
Compatibilité Java, R, Python, Scala via librairies (d’après ELANGA (2025)) : Capacité d’intégration de Hadoop avec divers langages de programmation grâce à des librairies spécifiques, permettant aux développeurs d’utiliser leurs outils favoris pour exploiter la puissance du framework.
-
Haute disponibilité et tolérance aux pannes (d’après ELANGA (2025)) : Mécanismes assurant la continuité des opérations même en cas de défaillance d’un composant. Hadoop garantit cette disponibilité par la réplication des données dans HDFS et la gestion automatique des erreurs lors des traitements.
📝 Points essentiels
-
Hadoop repose principalement sur deux composants fondamentaux : HDFS (Hadoop Distributed File System) pour le stockage distribué, et MapReduce pour le traitement distribué des données. La conception permet une scalabilité horizontale en ajoutant des nœuds au cluster, ce qui est essentiel face à l’augmentation exponentielle des volumes de données (voir ELANGA, 2025).
-
La compatibilité avec plusieurs langages via librairies permet une intégration aisée dans différents environnements de développement, facilitant l’adoption par diverses équipes techniques. Par exemple, Hadoop peut être utilisé avec Java nativement, et avec R, Python, Scala grâce à des librairies spécifiques.
-
La haute disponibilité et la tolérance aux pannes sont assurées par la réplication automatique des blocs de données dans HDFS et par la gestion des tâches via YARN, qui répartit et supervise l’exécution des traitements sur le cluster.
-
La technique de parallélisme, combinée à la scalabilité horizontale, permet à Hadoop de traiter efficacement des pétaoctets de données en répartissant la charge de travail sur plusieurs machines, tout en maintenant une résilience face aux défaillances matérielles.
💡 À retenir
Hadoop constitue un framework robuste et scalable, capable de gérer de très grands volumes de données en utilisant le parallélisme et la scalabilité horizontale, tout en assurant une compatibilité avec plusieurs langages et une haute disponibilité grâce à ses mécanismes intégrés.
📖 2. Écosystème Spark
🔑 Notions clés & Définitions
-
Resilient Distributed Dataset (RDD) : Collection immuable d’objets répartis sur plusieurs nœuds, permettant des calculs distribués rapides et tolérants aux pannes grâce à un système de lineage et DAGs (Directed Acyclic Graphs). ELANGA (2025-2026) : structure fondamentale pour le traitement distribué dans Spark, stockée en mémoire pour accélérer les opérations.
-
DataFrame : Structure de données tabulaire similaire à une table SQL, permettant des opérations de manipulation efficaces avec une syntaxe proche du SQL. Optimisé pour les traitements structurés, il facilite l’intégration avec des API SQL et est idéal pour les données structurées. ELANGA (2025-2026) : facilite la manipulation de données structurées avec une syntaxe simple et performante.
-
Spark Core : Composant central de Spark qui gère l’exécution des tâches via les RDD, DataFrames et Datasets, en assurant la gestion de la mémoire, la planification et la tolérance aux pannes. ELANGA (2025-2026) : cœur de Spark permettant la gestion des traitements distribués en mémoire.
-
Traitements batch, streaming, mini-batch : Approches de traitement des données dans Spark, où le batch traite en masse, le streaming en temps réel et le mini-batch combine les deux pour un traitement quasi-instantané. ELANGA (2025-2026) : flexibilité dans la gestion des flux de données pour répondre à divers besoins métier.
-
Optimisation des traitements Spark : Techniques telles que la planification paresseuse, le caching, et l’optimiseur Catalyst pour accélérer l’exécution des requêtes et minimiser les coûts de traitement. ELANGA (2025-2026) : stratégies pour maximiser la performance et l’efficacité des traitements dans Spark.
📝 Points essentiels
-
Spark remédie aux limites de MapReduce en permettant un traitement en mémoire, ce qui réduit considérablement les opérations de lecture/écriture disque et accélère les traitements, notamment en temps réel ou en itération (ELANGA, 2025-2026).
-
Les objets clés de Spark sont les RDD, DataFrames et Datasets, chacun adapté à différents types de données et besoins analytiques, avec une compatibilité nativement avec Java, R, Python et Scala.
-
L’architecture de Spark repose sur un cluster composé d’un Spark Driver, qui orchestre les traitements, et d’Executors, qui exécutent les tâches. Le Cluster Manager (standalone, YARN, Mesos) gère les ressources selon le contexte d’utilisation.
-
Spark peut s’intégrer avec Hadoop via des composants comme Hive, permettant d’exécuter des requêtes SQL sur des données stockées dans HDFS ou dans un Data Lake, facilitant ainsi la transition entre traitement batch et traitement en temps réel.
-
La gestion efficace des ressources et la planification des tâches sont assurées par le SparkContext, qui établit la connexion avec le cluster, et par le Cluster Manager, qui alloue dynamiquement les ressources nécessaires.
💡 À retenir
Spark offre une plateforme unifiée pour le traitement distribué en mémoire, combinant la rapidité, la flexibilité et la compatibilité avec diverses sources de données, ce qui en fait une alternative performante aux limites de MapReduce pour les traitements Big Data.
📖 3. Métiers Big Data
🔑 Notions clés & Définitions
- Data Engineer (actions quotidiennes) : Professionnel chargé de la collecte, du stockage et de la distribution des données à grande échelle. Il construit et maintient les pipelines Big Data, orchestre l’ingestion et la transformation des données, et assure leur disponibilité pour les autres métiers (voir section 2).
- Outils utilisés par le Data Engineer : Technologies de stockage distribuées (HDFS, Cloud, Data Lake, Data Warehouse), frameworks comme Hadoop, Spark, outils d’orchestration (Oozie, Airflow).
- Rémunération cible du Data Engineer : Environ 45 000 euros à Paris (voir section 2).
- Objectifs professionnels du Data Engineer : Optimiser la collecte, le traitement et la distribution des données, garantir la scalabilité et la performance des systèmes Big Data, répondre aux besoins métiers en fournissant des flux de données fiables.
- Data Analyst (actions quotidiennes) : Professionnel qui exploite les données pour produire des reportings, analyser des tendances, et automatiser des résultats via des modèles mathématiques et algorithmes (voir section 2).
- Outils utilisés par le Data Analyst : SQL, outils de visualisation (Tableau, Power BI), logiciels de traitement statistique, scripts en Python ou R.
📝 Points essentiels
- Rôles distincts mais complémentaires : Le Data Engineer construit l’infrastructure et prépare les données, le Data Analyst exploite ces données pour générer des insights, et le Data Scientist (voir section 2) développe des modèles prédictifs avancés.
- Objectifs professionnels et attentes : Le Data Engineer vise à assurer une infrastructure robuste, scalable et performante pour la gestion des Big Data. La rémunération cible est d’environ 45 000 euros à Paris, avec une forte demande dans le secteur IT. Le Data Analyst doit maîtriser la manipulation de données et la visualisation pour répondre aux enjeux métier.
- Actions quotidiennes spécifiques : Extraction, nettoyage, standardisation, orchestration de pipelines, reporting, recommandations métier.
💡 À retenir
Les métiers du Big Data sont complémentaires : le Data Engineer construit l’architecture et prépare les données, tandis que le Data Analyst exploite ces données pour produire des insights et soutenir la prise de décision.
📖 4. Stockage Big Data
🔑 Notions clés & Définitions
- Data Warehouse : Système de stockage basé sur des bases relationnelles, hébergé dans un Data Center ou dans le Cloud, destiné à l’analyse et au reporting. Il contient des données historisées, organisées en tables, souvent partitionnées, permettant des requêtes SQL optimisées pour l’analyse (voir PERROUX).
- Data Lake : Système de stockage capable de gérer à la fois des données structurées et non structurées, issues de multiples sources. Il utilise principalement des formats de fichiers comme Parquet pour stocker efficacement ces données, favorisant la flexibilité et la scalabilité (voir ELANGA).
- Format Parquet : Format de fichiers en colonne, indépendant des langages, conçu pour le stockage et l’analyse efficaces de grandes quantités de données. Il offre une haute compression et une rapidité d’accès pour les traitements analytiques (voir ELANGA).
- Distributed File System (DFS) : Système de stockage distribué permettant de répartir les fichiers entre plusieurs serveurs ou sites géographiques, facilitant l’accès rapide et sécurisé aux données massives. Exemples : HDFS (Hadoop Distributed File System), Google File System (GFS).
- Avantages et Inconvénients du Cloud :
- Avantages : Flexibilité, scalabilité, efficacité, sécurité renforcée, optimisation des coûts (voir ELANGA).
- Inconvénients : Risques de sécurité, dépendance réseau, confidentialité des données, coûts imprévus liés à une mauvaise gestion ou à une expertise insuffisante.
📖 5. Architecture Lakehouse
🔑 Notions clés & Définitions
-
Architecture Lakehouse : Modèle combinant les avantages du Data Lake et du Data Warehouse pour offrir une plateforme unifiée de stockage, traitement et analyse des données, permettant une gestion efficace des données structurées et non structurées. (Source : Contenu source)
-
Architecture médaillon (bronze, silver, gold) : Approche structurée pour organiser la qualité et la transformation des données dans un Lakehouse, où la couche bronze stocke les données brutes, la silver contient des données nettoyées et enrichies, et la gold regroupe des données prêtes pour la consommation métier et l’analyse avancée. (Source : Contenu source)
-
Combinaison Data Lake et Data Warehouse : Intégration stratégique permettant de stocker des données variées dans un Data Lake tout en utilisant un Data Warehouse pour des analyses rapides et structurées, optimisant ainsi coûts et performances. (Source : Contenu source)
📝 Points essentiels
-
L’architecture Lakehouse vise à surmonter les limites traditionnelles des Data Lakes (manque de gestion de la qualité, de gouvernance, et de performance pour l’analyse) et des Data Warehouses (coûts élevés, rigidité dans la gestion des données non structurées). Elle repose sur un stockage unifié, souvent basé sur des formats en colonne comme Parquet, pour traiter efficacement des volumes massifs de données structurées et non structurées. (Source : Contenu source)
-
La stratification en couches bronze, silver, et gold permet une gestion progressive de la qualité des données, facilitant leur gouvernance, leur nettoyage et leur enrichissement, tout en assurant une disponibilité rapide pour l’analyse métier. Cette approche favorise la scalabilité horizontale et la flexibilité dans le traitement des données. (Source : Contenu source)
-
La combinaison de supports de stockage (Distributed File System, Cloud, HDFS) et d’outils (Hive, Spark, YARN) dans une architecture médaillon permet d’assurer la performance, la sécurité, et la gouvernance des données à grande échelle. Elle facilite aussi l’automatisation des pipelines de traitement et l’intégration avec des outils analytiques et de Machine Learning. (Source : Contenu source)
-
L’impact business des transformations dans une architecture Lakehouse se traduit par une réduction des coûts, une amélioration de la réactivité, une meilleure gouvernance des données, et une capacité accrue à exploiter les données pour la prise de décision stratégique. La gestion unifiée permet également d’accélérer l’innovation et la mise sur le marché de nouvelles solutions analytiques. (Source : Contenu source)
💡 À retenir
L’architecture Lakehouse, structurée en couches médaillon, offre une plateforme unifiée permettant de stocker, traiter et analyser efficacement des données variées, tout en optimisant coûts et performances pour répondre aux enjeux business modernes.
📖 6. Composants Hadoop
🔑 Notions clés & Définitions
- HDFS (Hadoop Distributed File System) : Système de stockage distribué conçu pour héberger de très grands volumes de données en répartissant les fichiers en blocs sur plusieurs machines. Il repose sur deux types de daemons : le Namenode, qui gère la métadonnée et la localisation des blocs, et le Datanode, qui stocke physiquement les blocs de données (AUTEUR (date)).
- Namenode : Daemon unique dans HDFS, responsable de la gestion des métadonnées, telles que la structure des fichiers, la localisation des blocs et la hiérarchie du système de fichiers. Il ne stocke pas les données elles-mêmes mais connaît leur emplacement dans le cluster.
- Datanode : Daemon qui stocke et récupère les blocs de données selon les instructions du Namenode. Il assure la lecture et l’écriture des blocs physiques et communique en continu avec le Namenode pour signaler l’état de stockage.
- MapReduce : Modèle de programmation pour le traitement distribué de données volumineuses. Il se décompose en deux phases : la phase de mapping, où les données sont transformées en paires clé/valeur, et la phase de réduction, où ces paires sont agrégées pour produire le résultat final (AUTEUR (date)).
- Communication entre daemons : Interaction essentielle dans Hadoop, notamment entre le Namenode et les Datanodes pour la gestion des blocs, ainsi qu’entre le ResourceManager, NodeManagers, et ApplicationMasters dans YARN pour la gestion des ressources et l’exécution des tâches.
📝 Points essentiels
- HDFS repose sur une architecture maître-esclave avec un Namenode centralisé et plusieurs Datanodes, permettant une scalabilité horizontale et une tolérance aux pannes via la réplication des blocs.
- Le principe de MapReduce repose sur la division du traitement en deux phases principales : le mapping, qui transforme les données en clés/valeurs, et la réduction, qui agrège ces clés pour produire le résultat. Par exemple, compter le nombre de personnes dans un hôtel en utilisant MapReduce implique de mapper chaque chambre avec 1, puis de réduire par clé pour obtenir le total.
- La communication entre daemons est cruciale pour assurer la cohérence et la disponibilité du système : le Namenode coordonne la localisation des blocs, tandis que YARN gère la distribution des ressources via ses composants (ResourceManager, NodeManager, ApplicationMaster).
- La gestion du stockage distribué dans Hadoop permet d’assurer une haute disponibilité, une scalabilité, et une sécurité renforcée grâce à la réplication et à la gestion fine des accès.
- La compatibilité de Hadoop avec plusieurs langages (Java, R, Python, Scala via librairies) facilite son intégration dans divers environnements de traitement Big Data.
💡 À retenir
Hadoop, via HDFS et MapReduce, constitue une architecture robuste pour le stockage et le traitement distribué de très grands volumes de données, en s’appuyant sur une communication efficace entre ses composants clés pour garantir la scalabilité, la tolérance aux pannes et la performance.
📖 7. Traitements Spark
🔑 Notions clés & Définitions
- Traitements batch : Mode de traitement où les données sont collectées, stockées, puis traitées en une seule fois à intervalles réguliers. Selon ELANGA (2025), ce mode est adapté pour des volumes importants de données historiques, permettant une analyse approfondie sans interruption en temps réel.
- Streaming : Mode de traitement en temps réel ou quasi-temps réel où les données sont traitées dès leur arrivée, permettant une réaction immédiate. ELANGA (2025) souligne que le streaming est essentiel pour les applications nécessitant une réponse instantanée, comme la détection de fraudes ou la surveillance.
- Mini-batch : Approche hybride combinant batch et streaming, où les données sont traitées par petits lots à intervalles courts. ELANGA (2025) indique que cette méthode optimise la latence tout en bénéficiant de l'efficacité du traitement par lots, notamment dans Spark avec le micro-batch.
- API DataFrame et RDD : Interfaces de programmation dans Spark permettant de manipuler efficacement des données structurées (DataFrame) ou non structurées (RDD). ELANGA (2025) précise que les DataFrames offrent une optimisation automatique grâce à Catalyst, tandis que les RDD offrent une flexibilité pour des opérations plus basiques ou non structurées.
- Optimisation des traitements : Processus visant à améliorer la performance et l'efficacité des calculs dans Spark, notamment via la planification automatique, le caching, et la gestion intelligente des ressources. ELANGA (2025) insiste sur l'importance de l'optimiseur Catalyst pour les DataFrames.
- Exemples d’algorithmes Spark : Algorithmes de machine learning ou de traitement de données implémentés dans Spark, tels que ceux de MLlib ou GraphX, permettant de réaliser des analyses avancées à grande échelle. ELANGA (2025) mentionne que Spark facilite l’implémentation d’algorithmes distribués, notamment pour le clustering, la classification ou la recommandation.
📝 Points essentiels
- Spark permet de traiter des données en batch, streaming ou mini-batch, en utilisant principalement deux objets : RDD (Resilient Distributed Dataset) et DataFrame. Les RDD offrent une flexibilité pour des opérations simples ou non structurées, tandis que les DataFrames optimisent les traitements grâce à leur structure tabulaire et Catalyst.
- La gestion des pipelines de données dans Spark s’appuie sur la combinaison de traitements batch et streaming, permettant une intégration fluide pour des flux continus ou périodiques. La capacité à faire du traitement en micro-batch (mini-batch) est une innovation clé pour réduire la latence tout en conservant l’efficacité du traitement par lots.
- Spark optimise ses traitements via le moteur Catalyst, qui planifie et optimise les requêtes sur DataFrame, et le moteur Tungsten, qui améliore la gestion mémoire et la performance. La parallélisation automatique et le caching en mémoire sont essentiels pour accélérer les traitements.
- La programmation dans Spark s’appuie sur des API DataFrame pour des opérations SQL-like, et sur RDD pour des opérations plus basiques ou nécessitant un contrôle précis. La compatibilité avec Scala, Java, Python et R facilite l’intégration dans divers environnements métier.
- La mise en œuvre d’algorithmes Spark, notamment dans MLlib ou GraphX, permet de réaliser des analyses avancées telles que la classification, le clustering ou la détection d’anomalies, en exploitant la puissance du traitement distribué.
- La gestion des pipelines de données dans Spark implique l’orchestration de différentes étapes : ingestion, transformation, stockage et analyse, souvent intégrée avec des outils comme Apache Airflow ou Oozie pour automatiser ces flux.
💡 À retenir
Spark offre un traitement flexible et performant grâce à ses modes batch, streaming et mini-batch, en s’appuyant sur ses API DataFrame et RDD, et en intégrant des algorithmes avancés pour répondre aux besoins complexes du Big Data.
📖 8. Gestion ressources YARN
🔑 Notions clés & Définitions
YARN (Yet Another Resource Negotiator) (2012) : Gestionnaire de ressources d’Hadoop qui permet d’allouer, de surveiller et de coordonner l’exécution des applications distribuées dans un cluster, assurant efficacité et flexibilité.
Allocation dynamique des ressources (Steve ELANGA, 2025) : Processus par lequel YARN ajuste en temps réel la quantité de ressources (CPU, mémoire) attribuées à chaque application ou tâche, optimisant l’utilisation du cluster selon la demande.
Planification des tâches (Steve ELANGA, 2025) : Fonction de YARN qui consiste à organiser et à répartir les ressources disponibles entre différentes applications ou jobs, en fonction de priorités et de stratégies prédéfinies.
Tolérance aux pannes via YARN (Steve ELANGA, 2025) : Capacité de YARN à maintenir la stabilité et la continuité du traitement en cas de défaillance d’un nœud ou d’un composant, grâce à la gestion de redondances et de relances automatiques.
Interaction avec Hadoop et Spark (Steve ELANGA, 2025) : Mécanisme par lequel YARN coordonne l’exécution des applications Hadoop (ex: MapReduce, Hive) et Spark, en leur fournissant les ressources nécessaires pour leur fonctionnement distribué.
📝 Points essentiels
- YARN centralise la gestion des ressources dans un cluster Hadoop, permettant une utilisation optimale en partageant efficacement CPU, mémoire et autres ressources entre plusieurs applications.
- La gestion des ressources est assurée par le ResourceManager, qui reçoit les demandes d’applications, négocie les ressources et les alloue via des conteneurs contrôlés par les NodeManagers.
- La planification des tâches se fait selon des stratégies configurables (priorités, quotas, etc.), garantissant une répartition équilibrée et adaptée aux besoins métier.
- La tolérance aux pannes est intégrée grâce à la gestion des conteneurs et à la surveillance continue par le NodeManager, permettant de relancer ou de réattribuer les ressources en cas de défaillance.
- L’interaction avec Spark se fait via le YARN Client, qui soumet les jobs Spark et leur fournit les ressources nécessaires, tout en assurant leur exécution distribuée.
- La gestion dynamique des ressources permet d’adapter en temps réel la capacité du cluster, évitant le gaspillage ou la surcharge, et favorisant une meilleure scalabilité.
💡 À retenir
YARN optimise la gestion des ressources dans un environnement Hadoop en allouant dynamiquement, planifiant efficacement et assurant la tolérance aux pannes, tout en permettant une intégration fluide avec Hadoop et Spark pour une exécution distribuée performante.
📖 9. Types de cluster
🔑 Notions clés & Définitions
-
Cluster on-premise : Infrastructure de calcul et stockage déployée physiquement dans les locaux de l’entreprise, gérée entièrement par celle-ci. AUTEUR (date) : permet un contrôle total sur la sécurité, la configuration et la maintenance, mais nécessite des investissements initiaux importants.
-
Cluster cloud : Ressources de calcul et de stockage provisionnées via des services cloud (ex : AWS, Azure, Google Cloud). AUTEUR (date) : offre une flexibilité et une scalabilité quasi illimitées, avec une gestion externalisée, mais soulève des enjeux de sécurité et de dépendance au fournisseur.
-
Cluster hybride : Combinaison de clusters on-premise et cloud, permettant de répartir les charges de travail selon des critères de sécurité, coût ou performance. AUTEUR (date) : optimise la flexibilité et la sécurité, mais complexifie la gestion et la synchronisation des ressources.
📝 Points essentiels
💡 À retenir
Les clusters on-premise offrent un contrôle total mais peu flexibles, tandis que les clusters cloud proposent une scalabilité optimale avec une gestion externalisée. Le modèle hybride combine les avantages des deux, mais demande une orchestration avancée pour une efficacité optimale.
📖 10. DataFrame et RDD
🔑 Notions clés & Définitions
- DataFrame : Structure de données tabulaire organisée en lignes et colonnes, similaire à une table relationnelle, permettant une manipulation efficace via une API de type SQL. ELANGA (2025-2026) : "Le DataFrame facilite la gestion et l’analyse des données structurées en offrant une interface intuitive et performante pour le traitement de masse."
- RDD (Resilient Distributed Dataset) : Collection immuable d’objets distribués sur plusieurs nœuds, conçue pour effectuer des calculs distribués avec tolérance aux pannes grâce à un système de lineage. ELANGA (2025-2026) : "Les RDD sont la structure fondamentale de Spark, permettant un traitement rapide et résilient des données non structurées ou semi-structurées."
- Transformations (RDD) : Opérations sur un RDD qui créent un nouveau RDD sans modifier l’original, telles que
map(), filter(). ELANGA (2025-2026) : "Les transformations sont paresseuses, elles ne s’exécutent que lorsqu’une action est déclenchée, optimisant ainsi le traitement."
- Actions (RDD) : Opérations qui produisent un résultat final à partir d’un RDD, telles que
count(), first(), ou collect(), et qui déclenchent l’exécution des transformations. ELANGA (2025-2026) : "Les actions permettent d’obtenir des résultats concrets et peuvent exporter ces résultats vers des supports de stockage."
- Différences DataFrame/RDD : Les DataFrames offrent une API de type SQL pour manipuler des données structurées, avec optimisations automatiques, tandis que les RDD sont plus flexibles pour des données non structurées ou sans schéma, mais nécessitent une gestion manuelle des optimisations. ELANGA (2025-2026) : "Les DataFrames sont plus performants pour les données structurées grâce à leur planification automatique, contrairement aux RDD qui offrent une plus grande flexibilité."
📝 Points essentiels
- DataFrame : Structure tabulaire avec schéma défini, supporte l’API SQL, optimisé pour les traitements analytiques, idéal pour manipuler des données structurées (ex : CSV, Parquet). Son API est disponible en Python (
spark.read.csv), Scala, Java, R.
- RDD : Collection immuable, distribué, basé sur des opérations de transformations (paresseuses) et d’actions, utilisé pour des données non structurées ou nécessitant des calculs simples. La tolérance aux pannes est assurée par le système de lineage, qui permet de recomposer un RDD en cas de panne.
- Différences majeures : Les DataFrames utilisent un moteur d’optimisation (Catalyst) pour accélérer les requêtes et réduire les coûts de traitement, alors que les RDD nécessitent une gestion manuelle des optimisations. Les DataFrames sont plus adaptés aux traitements SQL et aux opérations analytiques, tandis que les RDD sont privilégiés pour des traitements basiques ou très spécifiques.
- Utilisation dans Spark : Les DataFrames sont recommandés pour les traitements structurés et l’intégration avec SQL, tandis que les RDD sont privilégiés pour des données non structurées ou pour des opérations nécessitant une flexibilité maximale.
- Optimisation des requêtes : Les DataFrames bénéficient du moteur Catalyst de Spark, qui optimise le plan d’exécution, réduisant ainsi le coût et le temps de traitement. Les RDD, eux, nécessitent une optimisation manuelle par le développeur.
💡 À retenir
Les DataFrames offrent une manipulation plus performante et optimisée pour les données structurées grâce à leur API SQL et leur moteur d’optimisation, tandis que les RDD restent essentiels pour traiter des données non structurées ou nécessitant une flexibilité totale.
📊 Tableaux de Synthèse
| Critère | Hadoop | Spark | Auteur / Référence |
|---|
| Architecture principale | HDFS + MapReduce | RDD, DataFrame, Spark Core | ELANGA (2025-2026) |
| Type de traitement | Batch, traitement distribué | Batch, streaming, mini-batch | ELANGA (2025-2026) |
| Scalabilité | Horizontale via ajout de nœuds | Horizontale et en mémoire | ELANGA (2025-2026) |
| Compatibilité langages | Java, R, Python, Scala | Java, R, Python, Scala | ELANGA (2025-2026) |
| Faible latence | Moins performant pour temps réel | Très performant pour temps réel | ELANGA (2025-2026) |
| Résilience | Réplication HDFS + gestion automatique des erreurs | Lineage, DAGs, tolérance aux pannes | ELANGA (2025-2026) |
| Composants clés | Hadoop | Spark | Auteur / Référence |
|---|
| Stockage | HDFS | Data Lake, intégration avec HDFS | ELANGA (2025-2026) |
| Traitement | MapReduce | RDD, DataFrame, Datasets | ELANGA (2025-2026) |
| Orchestration | YARN | SparkContext, Cluster Manager | ELANGA (2025-2026) |
⚠️ Pièges & Confusions Fréquentes
- Confondre Hadoop et Spark : Hadoop est un framework basé sur MapReduce, tandis que Spark est une plateforme en mémoire pour des traitements rapides.
- Croire que Hadoop est optimal pour le traitement en temps réel : Hadoop est principalement batch, Spark excelle en streaming.
- Négliger la scalabilité horizontale de Hadoop : ajouter des nœuds augmente la capacité, mais pas la performance instantanée.
- Confondre RDD et DataFrame : RDD est immuable, plus flexible mais moins performant que DataFrame pour données structurées.
- Sous-estimer la gestion des ressources par YARN dans Hadoop ou Spark : essentielle pour optimiser les traitements.
- Confusion entre parallélisme et distribution : le parallélisme concerne l’exécution simultanée, la distribution concerne la répartition physique.
- Ignorer la compatibilité multi-langages : Hadoop et Spark supportent plusieurs langages via librairies, mais leur utilisation diffère.
✅ Checklist Examen
- Connaître la définition de Hadoop selon ELANGA (2025) et ses composants principaux (HDFS, MapReduce).
- Savoir expliquer la scalabilité horizontale et verticale avec des exemples liés à Hadoop.
- Comprendre le principe de parallélisme dans Hadoop et ses limites.
- Identifier les langages compatibles avec Hadoop et Spark (Java, R, Python, Scala).
- Définir le rôle de YARN dans la gestion des ressources dans Hadoop.
- Connaître la différence entre RDD et DataFrame dans Spark, et leur utilisation.
- Expliquer le fonctionnement de Spark Core et son importance dans l’architecture Spark.
- Savoir décrire les traitements batch, streaming et mini-batch dans Spark.
- Maîtriser les mécanismes d’optimisation dans Spark (caching, Catalyst).
- Connaître la structure et le rôle des composants de l’écosystème Spark (Driver, Executors, Cluster Manager).
- Identifier les principaux métiers du Big Data : Data Engineer et Data Analyst, leurs outils et objectifs.
- Connaître la définition et les enjeux de l’architecture Lakehouse.
- Revoir la différence entre DataFrame et RDD, leurs avantages et cas d’usage.
- Vérifier la maîtrise des notions clés de la gestion ressources YARN et des types de clusters.
- S’assurer de la compréhension des concepts de stockage Big Data (Data Lake, Data Warehouse).
- Connaître les références clés : ELANGA (2025), (2026).
Създайте свои собствени листове за преговор
Импортирайте курса си и AI генерира листове, тестове и флашкарти за 30 секунди.
Генератор на листове