2011-06-09 5 views
0

J'ai écrit une application de réduction de mappage composée de deux phases de réduction de mappage.Hadoop - partage de fichiers entre plusieurs tâches dans une chaîne

fichier binaire d'entrée -> M1-> r1 -> m2 -> r2 -> Sortie texte

Le fichier d'entrée à ma demande contient une petite partie de données (< 1k) qui est nécessaire par le second réducteur (R2). J'ai écrit un lecteur d'enregistrement personnalisé qui extrait ces données, mais alors comment puis-je transmettre cela au prochain travail? Il semble que ce soit un travail pour DistributedCache, mais il semble que les fichiers de cache DistributedCache sont limités à l'espace de travail d'un seul travail. Quelle est la meilleure façon de partager de petites données entre différents emplois dans la même chaîne?

Répondre

0

Essayez hadoop avec l'option -files J'ai eu un problème similaire dans le passé et l'option -files a fonctionné pour moi. Regardez here

+0

J'ai déjà utilisé l'option -files, le problème est que le fichier que je voudrais partager est généré par la première phase du pipeline map-reduce. En d'autres termes, je n'ai pas le fichier disponible sur le client capable d'utiliser l'option -file sur la ligne de commande. –

Questions connexes