6

Je veux de l'aide pour comprendre l'algorithme. J'ai d'abord collé l'explication de l'algorithme puis mes doutes.Comprendre un algorithme mapreduce pour le calcul de chevauchement

Algorithm :(Pour calculer le chevauchement entre les paires de disques)

Étant donné qu'un utilisateur paramètre défini K, le fichier DR (* Format: record_id, les données *) est divisée en K Les morceaux presque équi-taille, de sorte que les données d'un document, Di tombe dans le morceau i/K th.

Nous avons outrepassé la fonction de partitionnement de Hadoop qui mappe une clé émise par le mappeur vers une instance de réducteur. Chaque clé (i, j) est mappée à un réducteur dans le groupe j/Kth. La clé spéciale i, * et sa valeur associée, c'est-à-dire, les données du document sont répliquées au plus K fois, de sorte que le contenu complet du document peut être remis à chaque réducteur. Chaque réducteur d'un groupe doit donc récupérer et charger en mémoire seulement un morceau de fichier DR, dont la taille peut être arbitrairement petite en faisant varier K. Ainsi, le chevauchement peut être calculé. Ceci est réalisé au prix de la réplication des documents fournis via le framework MapReduce.

: Doutes

J'ai fait quelques hypothèses:

Déclaration: Chaque touche (i, j) est mis en correspondance avec un réducteur dans le j/groupe Nième. Hypothèse: K nœuds de réduction sont présents, et la clé est mappée à j/Kth réduire nœud. Doute: Certains nœuds de réduction sont-ils regroupés? dire 0,1,2 nœuds sont groupés en tant que groupe-0? Énoncé: les données du document sont répliquées au plus K fois, de sorte que le contenu complet du document peut être remis à chaque réducteur. Donc, ça veut dire que K est égal à n °

des nœuds de réduction? Si ce n'est pas le cas, nous gaspillons les nœuds de calcul, sans les utiliser correctement?

Principal doute: K est-il égal au nombre de nœuds réducteurs ??

Espérant des réponses!

Merci!

+0

Je ne pense pas que vous nous donnez suffisamment d'informations pour comprendre cet algorithme ... –

+0

Fondamentalement, il existe deux types de sorties Mapper: 1. , –

+0

Fondamentalement, il existe deux types de sortie Mapper: a . clé: , val: b. clé: , val: . Le premier type de sorties peut atteindre n'importe quel réducteur basé sur la deuxième partie de la deuxième partie de la clé, c'est-à-dire j. L'objectif est de regrouper tous les enregistrements d'instance de réduction à partir de toute sortie de mappeur qui a le même "i" dans la première partie de la clé.La clé doit être répliquée k fois pour atteindre chaque instance de réduction, de sorte que chaque enregistrement d'intersection avec i comme première partie de la clé reçoive les données i. Est-ce que cela signifie que k doit être répliqué autant de fois que le non. de réduire les nœuds ??? –

Répondre

0

Testez le même programme qui se casse après que les nœuds deviennent inutiles par rapport à votre programme en cours. Je trouve qu'il est généralement préférable de casser une opération une fois que c'est fini.

Cependant, si l'opération ne sait que traiter plus tard pendant le fonctionnement, il peut être nécessaire de permettre au code de continuer jusqu'à la fin.

Questions connexes