2 votes

Écriture dans un fichier unique à partir de mappeurs

Je travaille sur mapreduce qui génère un fichier CSV à partir de données lues dans HBase. Existe-t-il un moyen d'écrire dans un seul fichier à partir des mappers sans la phase de réduction (ou de fusionner plusieurs fichiers générés par les mappers à la fin du travail) ? Je sais que je peux définir le format de sortie pour écrire dans un fichier au niveau du job, est-il possible de faire la même chose pour les mappers ?

Remerciements

0voto

Thomas Jungblut Points 11072

Sérieusement, ce n'est pas ainsi que MapReduce fonctionne.

Pourquoi avez-vous besoin d'un emploi pour cela ? Écrivez une simple application Java qui fait la même chose pour vous. Il existe également des utilitaires en ligne de commande qui font la même chose pour vous.

0voto

Joe23 Points 1291

Il est possible (et assez fréquent) d'avoir une tâche Map/Reduce sans phase de réduction ( exemple ). Pour cela, il suffit d'utiliser job.setNumReduceTasks(0) .

Cependant, je ne suis pas sûr de la manière dont le Job-Output est géré dans ce cas. Habituellement, vous obtenez un fichier de résultat par réducteur. Sans réducteurs, je peux imaginer que vous obtenez un fichier par mappeur ou que vous ne pouvez pas produire de sortie de travail. Vous devrez faire des recherches à ce sujet.

Si cela ne vous convient pas, vous pouvez toujours utiliser l'implémentation par défaut du Réducteur, qui ne fait que transférer la sortie du mappeur (fonction d'identité).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X