Hadoop - Définition

Hadoop Définition

Glossaire Architecture Applicative Architecture d'Intégration

Quelle définition pour Hadoop? Hadoop est un framework de développement Java pour des traitements massifs de données dans des applications fortement distribuées. Sa licence Open Source, au sein de la fondation Apache, lui a permis une forte adoption et son intégration dans des offres commerciales.

Hadoop tire son inspiration de technologies antérieures: MapReduce, GoogleFS et Google BigTable.

La construction de Hadoop lui permet facilement de monter en charge au sein d’applications avec du stockage et des traitements distribués sur des milliers de nœuds.

Fondements de Hadoop

Les nœuds sont constitués de matériels standards et économiques qui font partie de grappes.

Ces grappes permettent une bonne tolérance aux pannes en gérant la redondance et la bascule automatique.

Cela assure aux traitements

  • de pouvoir facilement monter en charge,
  • d’être résilients (les données sont distribuées et répliquées)
  • et d’être flexible (tout type de données peut être stocké et traité, structuré, non structuré…).

Toutefois Hadoop doit faire face à des enjeux

  • de performance en travaillant sur disque,
  • de complexité en étant un framework Java de bas niveau
  • et d’évolution en voyant son écosystème bouger rapidement.

Fonctionnement de Hadoop

Hadoop se compose:

d’un noyau se chargeant

  • du stockage avec HDFS (Hadoop Distributed File System)
  • et des traitements avec MapReduce

d’un framework Hadoop disposant des modules

  • Common
  • Distributed File System
  • Yarn
  • MapReduce
  • Ozone

d’un écosystème avec Apache Pig, Apache Hive, Apache HBase, Apache Phoenix, Apache Spark, Apache ZooKeeper, Apache Impala, Apache Flume, Apache Sqoop, Apache Oozie, Apache Storm.

Le principe premier d’Hadoop est de fractionner les fichiers en blocs distribués sur les nœuds du cluster avec le traitement à appliquer. Ainsi chaque nœud applique le même traitement aux données dont il dispose et à la fin de tous les traitements, les résultats de tous les nœuds peuvent être réconciliés selon l’usage souhaité.

Hadoop se base donc sur des fichiers et sera plus à même de travailler en batch à la différence de Spark qui se base sur le streaming des données pour travailler en mémoire de manière continue en temps réel ou en batch.

Quelques fournisseurs Hadoop

Cloudera

AWS

Merci pour votre lecture, n’hésitez pas à partager cet article.

Je peux être amené à citer des marques (produits, solutions, entreprises) par choix rédactionnel. Mais sans indication explicite de ma part, cela ne préjuge en rien d’un quelconque partenariat ou placement de produit.

N’hésitez pas à faire part de vos connaissances et expériences pour compléter cette fiche. Utilisez les commentaires mais toujours avec bienveillance et courtoisie 😃. Au plaisir de vous lire.