HBase
 sql >> Base de données >  >> NoSQL >> HBase

Hadoop Combiner Introduction, fonctionnement et avantages

Dans ce tutoriel Hadoop , nous vous fournirons une description détaillée de Hadoop Combiner. Tout d'abord, nous verrons ce qu'est MapReduce Combiner, quel est le rôle clé de Combiner dans MapReduce.

Ensuite, nous discuterons de l'exemple du programme MapReduce avec et sans combinateur dans Hadoop. Enfin, nous verrons également quelques avantages et inconvénients de Combiner dans MapReduce.

 Qu'est-ce que Hadoop Combiner ?

Combinateur est également connu sous le nom de "Mini-Réducteur ” qui résume le Mappeur enregistrement de sortie avec la même clé avant de passer au Reducer .

Sur un grand ensemble de données lorsque nous exécutons le travail MapReduce. Mapper génère donc de gros morceaux de données intermédiaires. Ensuite, le framework transmet ces données intermédiaires au réducteur pour un traitement ultérieur.

Cela conduit à une énorme congestion du réseau. Le framework Hadoop fournit une fonction appelée Combiner  qui joue un rôle clé dans la réduction de la congestion du réseau.

Le travail principal de Combiner a "Mini-Reducer" est de traiter les données de sortie du Mapper, avant de les transmettre à Reducer. Il s'exécute après le mappeur et avant le réducteur. Son utilisation est facultative.

Comment fonctionne Combiner dans Hadoop ?

Voyons maintenant comment les choses changent lorsque nous utilisons le combinateur dans MapReduce ?

Comme nous le voyons dans le diagramme ci-dessus, aucun combinateur n'est là. L'entrée est divisée en deux mappeurs. Le framework génère 9 clés à partir des mappeurs.

Nous avons donc maintenant (9 clé/valeur) des données intermédiaires. Un autre mappeur envoie cette valeur-clé directement au réducteur. Lors de l'envoi de données au réducteur, il consomme une partie de la bande passante du réseau. Le transfert de données vers le réducteur prend plus de temps si la taille des données est importante.

Maintenant, à partir du diagramme ci-dessus, si nous utilisons un combineur entre le mappeur et le réducteur. Ensuite, le combinateur mélangera 9 clés/valeurs avant de l'envoyer au réducteur. Et génère ensuite 4 paires clé/valeur en sortie.

Désormais, Reducer n'a besoin de traiter que 4 paires de données clé/valeur générées à partir de 2 combinateurs. Par conséquent, le réducteur n'est exécuté que 4 fois pour produire la sortie finale. Ainsi, cela augmente les performances globales.

Avantages de Combiner dans MapReduce

Parlons maintenant des avantages de Hadoop Combiner dans MapReduce.

  • L'utilisation d'un combinateur réduit le temps nécessaire au transfert de données entre le mappeur et le réducteur.
  • Combiner améliore les performances globales du réducteur.
  • Cela réduit la quantité de données que le réducteur doit traiter.

Inconvénients de Combiner dans MapReduce

Hadoop Combiner présente également certains inconvénients. Parlons maintenant de la même chose.

  • Dans le système de fichiers local, lorsque Hadoop stocke les paires clé-valeur et exécute le combinateur ultérieurement, cela entraînera des E/S disque coûteuses.
  • Les tâches MapReduce ne peuvent pas dépendre de l'exécution du combinateur car il n'y a aucune garantie quant à son exécution.

Conclusion

Par conséquent, Hadoop Combiner joue un rôle clé dans la réduction de la congestion du réseau. Il améliore les performances globales du réducteur en résumant la sortie de Mapper.

J'espère que vous avez maintenant une compréhension claire de Hadoop Combiner. Si vous avez encore des questions, veuillez nous en informer en laissant un commentaire dans une section ci-dessous.