2017-04-22 3 views
0

Je ne vois pas de valeur pour les réducteurs dans Hadoop dans le scénario suivant:Quel est l'avantage des réducteurs dans Hadoop?

  • Les tâches de cartes génèrent des clés uniques (Parce que nous pouvons fusionner à la fois la Map/Reduce fonctionnalité ensemble)
  • La sortie taille des tâches de la carte est trop grand (Cela épuise la mémoire si nous attendons les réducteurs pour commencer le travail)

  • Si nous avons une fonctionnalité qui n'a pas besoin de regroupement et de tri des clés

Corrigez-moi si je me trompe.

Et si quelqu'un pouvait me donner un vrai exemple des avantages des réducteurs et quand il devrait être utilisé, je l'apprécierai.

+1

La 3ème déclaration est centrale. Si vous n'avez pas besoin de grouper, vous devez définir le nombre de réducteurs à 0. – fi11er

+0

@ fi11er Merci pour les deux premières déclarations –

+0

Tout dépend de votre tâche, vous ne pouvez pas faire d'agrégation sur les mappeurs (ou pouvez, mais vous le feriez probablement écrire votre propre réduire pour cela). 1) Si vous avez des clés uniques, vous n'avez généralement pas besoin de regrouper vos données, vous n'avez donc pas besoin de réducteur. 2) cela ne dépend pas de la taille, si vous voulez agréger la sortie de la carte, vous allez ajouter un réducteur. – fi11er

Répondre

0

Réducteur est bénéfique (ou nécessaire) lorsque vous devez faire des opérations telles que l'agrégation/regroupement etc ..

Pour votre information: Réducteur est destiné à grouper valeur différente pour une clé qui vient de différents cartographe. Donc, pour un cas d'utilisation qui ne nécessite pas de regroupement/agrégation, il est inutile d'utiliser le réducteur (vous pouvez le définir sur Zéro, ce qui signifie des tâches Map-Only).

Un cas d'utilisation rapide auquel je peux penser est - vous voulez diviser de façon aléatoire un gros fichier en plusieurs parties. Dans ce cas, vous allez fournir un gros fichier (disons 100G) aux travaux Map-Only. Toutes les cartes vont lire un morceau de fichier et écrire comme une partie du fichier.

+0

Merci. Qu'en est-il des deux premières affirmations, c'est-à-dire "Les tâches de carte génèrent des clés uniques ...... La taille de sortie des tâches de carte est trop grande ......" Je pense aussi ici que les Réducteurs ne devraient pas être utilisés. Vous avez fourni un exemple de Jobs Map Only, Pourriez-vous fournir un exemple "réel" (par exemple, vivre exemple pas le concept) des avantages des réducteurs, comme je l'ai mentionné dans mon post. –