Différence entre Hadoop et MapReduce

Les racines de Hadoop remontent à l'année 2002 lorsque Dough Cutting travaillait sur un projet open source nommé Nutch (qui était utilisé pour indexer les pages Web et utiliser les pages Web indexées pour la recherche, la même chose que Google fait). Il faisait face à des problèmes d'évolutivité en termes de stockage et d'informatique. En 2003, Google a publié GFS (système de fichiers Google) et en 2004, Nutch a créé NDFS (système de fichiers distribué Nutch). Après que Google ait annoncé MapReduce comme cerveau informatique derrière leurs algorithmes de tri, Dough a pu exécuter Nutch sur NDFS et a utilisé MapReduce en 2005 et en 2006 Hadoop est né.

Hadoop et MapReduce! Hadoop est un écosystème de projets open source tels que Hadoop Common, le système de fichiers distribués Hadoop (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop en tant que tel est un framework open source pour le stockage et le traitement d'énormes ensembles de données. Le stockage est effectué par HDFS et le traitement est pris en charge par MapReduce. MapReduce, d'autre part, est un modèle de programmation qui vous permet de traiter d'énormes données stockées dans Hadoop.

Comparaison directe entre Hadoop et MapReduce (infographie)

Ci-dessous est la comparaison du Top 5 entre Hadoop et MapReduce

Différences clés entre Hadoop et MapReduce

Voici la différence entre Hadoop et MapReduce

  • Si nous voulons différencier Hadoop et MapReduce en termes simples, nous pouvons dire que Hadoop est comme la voiture dans laquelle vous avez tout ce qui est nécessaire pour parcourir les distances, mais MapReduce est comme le moteur de la voiture, donc sans la voiture, un moteur peut '' t existent mais l'extérieur de la voiture peut changer (autres DFS (systèmes de fichiers distribués)).
  • L'idée de base derrière Hadoop est que les données doivent être fiables et évolutives, fiables car en cas de catastrophe ou de défaillance du réseau, les données doivent être disponibles tout le temps et cela est possible grâce au cadre Hadoop utilisant des nœuds de nom et des nœuds de données.
  • Une idée de base des nœuds de données et des nœuds de nom

  • L'idée de base derrière l'architecture du nœud de données et du nœud de nom est l'architecture maître / esclave où l'un stocke l'emplacement des données (nœud de nom) et l'autre stocke les données elles-mêmes (nœud de données). Les données sont divisées en blocs de 64 Mo et enregistrées dans les blocs de données et le registre de ceux-ci est conservé au niveau du nœud de nom. Les données sont répliquées trois fois par défaut pour plus de fiabilité. En parlant d'évolutivité, le matériel peut être augmenté en déplacement, ce qui contribue à augmenter le stockage et à rendre le système évolutif.
  • Maintenant, pour MapReduce, il y a trois phases
    1. Phase de cartographie
    2. Phase de lecture aléatoire
    3. Réduire la phase

Prenons un exemple pour mieux le comprendre. MapReduce étant un cadre de programmation a également un programme Hello World, mais il est connu sous le nom de programme de comptage de mots dans MapReduce.

Le programme Word Count nous donne les paires clé-valeur du mot et sa fréquence dans un paragraphe / article ou n'importe quelle source de données. Pour pouvoir le comprendre facilement, prenons les exemples ci-dessous.

Dans l'ensemble de données comme nous pouvons le voir, nous avons trois mots bus, voiture et train. La colonne nommée Input contient les données comme nous l'avons dans l'ensemble de données, la colonne Output contient les données à l'étape intermédiaire où le brassage aura lieu.

Ici, nous prenons le séparateur comme une virgule (, ) pour diviser les mots. Le séparateur peut être une virgule ou un espace ou une nouvelle ligne, etc.

ContributionEnsemble de donnéescaR, VOITURE, voiture, BUS, TRAIN, bus, train, bus, TRAIN, BUS, buS, Voiture, bus, voiture, train, voiture, bus, voiture
ProductionConvertir en un autre ensemble de données

(Valeur clé)

(Bus, 1), (Voiture, 1), (bus, 1), (voiture, 1), (train, 1),

(voiture, 1), (bus, 1), (voiture, 1), (train, 1), (bus, 1),

(TRAIN, 1), (BUS, 1), (buS, 1), (caR, 1), (VOITURE, 1),

(voiture, 1), (BUS, 1), (TRAIN, 1)

Et la sortie de l'étage intermédiaire ci-dessus est donnée au réducteur et ci-dessous est la sortie finale du programme.

Contribution

(sortie de la fonction Map)

Ensemble de tuples(Bus, 1), (Voiture, 1), (bus, 1), (voiture, 1), (train, 1),

(voiture, 1), (bus, 1), (voiture, 1), (train, 1), (bus, 1),

(TRAIN, 1), (BUS, 1), (buS, 1), (caR, 1), (VOITURE, 1),

(voiture, 1), (BUS, 1), (TRAIN, 1)

ProductionSe convertit en un plus petit ensemble de tuples(BUS, 7),

(VOITURE, 7),

(TRAIN, 4)

  • L'une des principales différences de Hadoop avec les autres cadres de traitement des mégadonnées est que Hadoop envoie le code (code MapReduce) aux clusters où les données sont stockées plutôt que d'envoyer les données au code, comme les ensembles de données le seront en TB ou parfois en PB. ce sera une tâche fastidieuse à faire.

Tableau de comparaison Hadoop vs MapReduce

Base de comparaisonHadoopMapReduce

Sens

Le nom «Hadoop» était le nom de l'éléphant en peluche du fils de Doug Cutting. Il a nommé ce projet «Hadoop» car il était facile de le prononcer.Le nom «MapReduce» a vu le jour conformément à la fonctionnalité elle-même de mappage et de réduction en paires clé-valeur.

Concept

L'Apache Hadoop est un écosystème qui fournit un environnement fiable, évolutif et prêt pour l'informatique distribuée.MapReduce est un sous-module de ce projet qui est un modèle de programmation et est utilisé pour traiter d'énormes ensembles de données qui se trouvent sur HDFS (système de fichiers distribué Hadoop).

Conditions préalables

Hadoop fonctionne sur des implémentations HDFS (Hadoop Distributed File System)MapReduce peut s'exécuter sur HDFS / GFS / NDFS ou tout autre système de fichiers distribué, par exemple MapR-FS

Langue

Hadoop est une collection de tous les modules et peut donc également inclure d'autres langages de programmation / scriptingMapReduce est essentiellement écrit en langage de programmation Java

Cadre

Hadoop a non seulement un cadre de stockage qui stocke les données, mais crée des nœuds de nom et de données, il a également d'autres cadres qui incluent MapReduce lui-même.MapReduce est un cadre de programmation qui utilise une clé, des mappages de valeurs pour trier / traiter les données

La figure ci-dessous aidera à différencier MapReduce de Hadoop.

Cadre MapReduce

  • Comme nous pouvons le voir sur l'image ci-dessus, MapReduce est un framework de traitement distribué tandis que Hadoop est une collection de tous les frameworks.

Conclusion - Hadoop vs MapReduce

Hadoop étant open source a gagné en popularité car il était gratuit et les programmeurs peuvent changer le code selon leurs besoins. L'Eco-système Hadoop a été développé en continu au cours des dernières années afin de rendre l'Eco-système aussi exempt de bogues que possible.

Avec les besoins en constante évolution du monde, la technologie évolue rapidement et il devient difficile de suivre les changements. Les données qui sont générées en un mois deviennent doublées / triplées lorsque vous lisez cet article et la nécessité d'un traitement plus rapide des ensembles de données a conduit à de nombreux autres cadres de programmation tels que MapReduce 2, Spark, etc.

Articles recommandés

Ceci a été un guide pour Hadoop vs MapReduce, leur signification, la comparaison tête à tête, les différences clés, le tableau de comparaison et la conclusion. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Différence entre Hadoop et Redshift
  2. Découvrez les 6 meilleures différences entre Apache Hadoop et Apache Storm
  3. Comparaisons entre Hadoop et SQL
  4. Connaître MapReduce vs Spark
  5. Hadoop vs Spark: Fonctions
  6. Laravel vs Codeigniter: Fonctions

Catégorie: