Hadoop, Big Data
22 octobre 2021

Hadoop, le poids lourd du Big Data

Partager l'article

Développé par l’Apache Software Foundation en 2006 suite à une publication de Google deux ans auparavant, Hadoop s’est imposé dans le milieu de la création d’applications distribuées. Entretien avec Alexis Petrillo, Data Engineer.

Pourriez-vous présenter Hadoop ?

Hadoop est un framework libre et open source permettant la création d’applications distribuées pouvant travailler sur des données massives. Le noyau constitué d’une partie stockage nommée HDFS, d’une partie traitement nommée MapReduce et d’un cluster manager nommé YARN. Il est officiellement sorti en 2006 et est inspiré d’une publication de Google publiée en 2004. Hadoop se déploie généralement sur un cluster composé de plusieurs dizaines, centaines ou milliers de machines.

Pourquoi utiliser cet outil, quels intérêts ?

Il permet le stockage et la lecture de données volumineuses et variées. Dans un contexte Big Data, la production de données est croissante et continue, ces données pour être valorisées ne peuvent pas être stockées dans des systèmes relationnels classiques et la programmation impérative (en séquences) ne peut pas assurer les traitements sur une telle volumétrie.

De quelle manière fonctionne Hadoop concrètement ?

HDFS fonctionne sur une architecture maître/esclave : chaque cluster comporte un Namenode et plusieurs Datanode. Hadoop divise les fichiers en blocs de plus petite taille et les réparties sur les différents noeuds (Datanode) du cluster. Lorsque l’on souhaite consulter un fichier dans Hadoop, le Namenode va reconstituer le fichier initial en agrégeant tous les blocs qui ont été répartis. Il offre également une réplication des données, chaque bloc peut être dupliqué plusieurs fois sur différents noeuds, ce qui signifie que si un nœud du cluster tombe en panne, le fichier peut quand même être reconstitué dans son intégralité.

  • MapReduce introduit un nouveau paradigme de programmation, il fournit un cadre générique pour la parallélisation des traitements et se décompose en deux fonctions, la fonction Map et la fonction Reduce.
  • YARN est le gestionnaire de cluster intégré à Hadoop, son rôle est d’allouer dynamiquement des ressources aux applications. Depuis son ajout en 2013, il a permis le déploiement d’applications autre que MapReduce.

Quels sont les avantages et les inconvénients d'Hadoop ?

Un des principaux avantages d’Hadoop est son évolutivité, il est possible d’ajouter ou de retirer des machines aux clusters en fonction des besoins, on parle alors de scalabilité horizontale. Hadoop supporte aussi bien les données structurées que non structurées, il est possible d’y stocker des données textuelles. La parallélisation des traitements permet d’accélérer ceux-ci, dans un contexte Big Data on cherche à produire des analyses le plus possible en temps réel, ce qui en fait donc un outil de choix. Enfin, Hadoop est Open Source lorsqu’il est utilisé en dehors d’une distribution, il n’y a donc pas de coût de licence à supporter.

Au niveau des inconvénients, Hadoop est construit pour les gros volumes de données, une entreprise qui dispose de petits volumes de données ne trouvera aucun bénéfice dans l’utilisation d’Hadoop. Hadoop nécessite aussi une grosse maintenance, et maintenir une plateforme Hadoop nécessitera des compétences spécifiques et du temps. Les composants HDFS, MapReduce et YARN n’assurent souvent pas tous les besoins, il faudra installer d’autres composants (Spark, Zookeeper, Hbase, Hive, Pig, etc.). Cet assemblage de composants nécessite une plateforme en constante mise à jour.

 

Nos dernières formations Code

  • Produire avec les plugins Universal Audio, les interfaces Apollo et LUNA
    Découvrir
    Maîtriser la production audio, et le mixage avec les outils Universal Audio
    11h48 87 leçons
  • Mettre en place une démarche Green IT
    Découvrir
    Comprendre et mettre en place une démarche Green IT 
    4h00 4 leçons
  • Apprendre Typeform : Les fondamentaux
    Découvrir
    Apprendre à créer un formulaire avec Typeform
    1h16 3,50 / 5
  • Créer un site web avec HTML/CSS
    Découvrir
    Avant d'apprendre à développer et mettre en ligne votre propre site Internet, il est important de bien connaître les bases du HTML et du CSS. Dans cette formation en vidéo et cours en ligne, vous découvrez ce qu'est le HTML et CSS ? Le fonctionnement des sites web ainsi que la structure d'une page HTML.  Vous êtes guider pas à pas pour apprendre à intégrer des images, de l'audio et des vidéo. Vous apprenez à gérer et ajuster les polices en CSS, à comprendre la structure du CSS, les tableaux, boutons et formulaires en CSS.  Vous suivez la méthodologie de mise en page CSS et à styliser une page web avec le CSS. Formation pratique vous créez et stylisez les éléments principaux d'un site web avant de mettre en ligne et indexer un site, d'ajouter des éléments graphiques en CSS et d'animer un site en CSS
    16h20 14 leçons
  • Construire une API REST avec Symfony
    Découvrir
    Apprendre à créer une API REST avec le framework Symfony
    5h20 5 leçons
  • Apprendre Symfony
    Découvrir
    1. Développer la partie front-end d'une application web ou web mobile en intégrant les recommandations de sécurité Maquetter une application. Réaliser une interface utilisateur web statique et adaptable. Développer une interface utilisateur web dynamique. Réaliser une interface utilisateur avec une solution de gestion de contenu ou e-commerce. 2. Développer la partie back-end d'une application web ou web mobile en intégrant les recommandations de sécurité Créer une base de données. Développer les composants d'accès aux données. Développer la partie back-end d'une application web ou web mobile. Elaborer et mettre en œuvre des composants dans une application de gestion de contenu ou e-commerce.
    22h00 17 leçons
Partager l'article