2011-10-23 8 views
6

¿Hay alguna forma de salida para registrar la salida intermedia (Fase de mapa) de un trabajo de MapReduce sin editar la aplicación? (La aplicación no es mía, pero el clúster es, y puedo configurar el clúster Hadoop como quiero)Salida intermedia de Hadoop MapReduce

+0

¿Se puede reconfigurar el trabajo? –

Respuesta

8

keep.task.files.pattern parámetro se puede utilizar para mantener los archivos intermedios. Los archivos intermedios deben limpiarse manualmente una vez que se haya completado el trabajo. Como se trata de una propiedad de asignación/reducción de tareas, debe establecerse en el archivo de configuración y el archivo jar empacado nuevamente.

+0

¿puedes por favor elaborar? Establecí este parámetro y busqué en todas partes en los directorios de salida y en los cachés locales mapeados, pero no encontré salida en la etapa de mapa en ningún lugar ... – ihadanny

+0

... Tengo grandes esperanzas en $ {mapred.output.dir }/_ temporal, pero todo lo que pude encontrar es la carpeta "_attempt_local_0003_r_000000" reducida, nunca su contraparte "m" – ihadanny

+0

He establecido 'keep.task.files.pattern' en'. * 00000. * 'en' mapred -site.xml' y en 'core-site.xml' el parámetro' hadoop.tmp.dir' se establece en '$ HADOOP_HOME \ tmp'. Después de ejecutar el trabajo, file.out y file.out.index están en la carpeta '$ HADOOP_HOME/tmp/mapred/local/taskTracker/praveensripati/jobcache/job_201111031937_0001/attempt_201111031937_0001_m_000001_0/output'. Estos archivos están en formato SequenceFile. [Aquí] (http://goo.gl/7fJzT) es el código de muestra para leer los archivos de secuencia. ¿Qué patrón has usado? –

Cuestiones relacionadas