Hadoop MapReduce: il est Possible de définir deux cartographes et les réducteurs dans une hadoop classe d'emploi?

J'ai deux classes java pour faire deux tâches mapreduce. Je peux les exécuter de façon indépendante. Les fichiers d'entrée sur lequel ils sont d'exploitation sont les mêmes pour les deux emplois. Donc ma question est de savoir si il est possible de définir deux mappeurs et deux réducteurs dans une classe java comme

mapper1.class
mapper2.class
reducer1.class
reducer2.class

et puis comme

job.setMapperClass(mapper1.class);
job.setmapperClass(mapper2.class);
job.setCombinerClass(reducer1);
job.setCombinerClass(reducer2);
job.setReducerClass(reducer1);
job.setReducerClass(reducer2);

Ces Méthodes set effectivement remplacer les précédentes, ou d'ajouter les nouvelles? J'ai essayé le code, mais il s'exécute la seule dernières catégories qui m'amène à penser qu'il remplace. Mais il doit y avoir une façon de faire de ce droit?

La raison pour laquelle je demande, c'est que je peux lire les fichiers d'entrée qu'une seule fois (un I/O) et ensuite deux cartes de réduire les emplois. Je voudrais aussi savoir comment je peux écrire les fichiers de sortie dans deux dossiers différents. Pour le moment, les deux emplois sont séparés et ont besoin d'une entrée et d'un répertoire de sortie.

OriginalL'auteur Bob | 2012-06-20