La sección Task Side-Effect Files del tutorial de Hadoop menciona el uso del "intentionid" de la tarea como un nombre único. ¿Cómo obtengo esta ID de intento en mi asignador o reductor?Obtiene la ID del intento de tarea para la tarea Hadoop actualmente en ejecución
8
A
Respuesta
11
Si necesita un identificador único para un archivo de efectos secundarios en Hadoop, puede aprovechar el intento de identificación única en el trabajo con este código:
public static String getAttemptId(Configuration conf) throws IllegalArgumentException
{
if (conf == null) {
throw new NullPointerException("conf is null");
}
String taskId = conf.get("mapred.task.id");
if (taskId == null) {
throw new IllegalArgumentException("Configutaion does not contain the property mapred.task.id");
}
String[] parts = taskId.split("_");
if (parts.length != 6 ||
!parts[0].equals("attempt") ||
(!"m".equals(parts[3]) && !"r".equals(parts[3]))) {
throw new IllegalArgumentException("TaskAttemptId string : " + taskId + " is not properly formed");
}
return parts[4] + "-" + parts[5];
}
4
tarde a la fiesta, pero se puede utilizar el TaskAttemptID
clase para analizar la propiedad mapred.task.id
.
En mi caso, yo quería que el valor numérico intento de sí mismo y utilizó la siguiente en mi Mapper:
int _attemptID;
@Override
public void configure(JobConf conf) {
TaskAttemptID attempt = TaskAttemptID.forName(conf.get("mapred.task.id"));
_attemptID = attempt.id();
}
9
Con la nueva API de Hadoop:
context.getTaskAttemptID().getTaskID().getId()
Cuestiones relacionadas
- 1. Cómo programar una tarea para su futura ejecución en la Tarea Biblioteca paralela
- 2. Fallo en la tarea de transmisión de Hadoop: salida del proceso de tarea con un estado distinto de cero de
- 3. Rails Tarea de fondo de la tarea
- 4. Tarea de retardo: primera ejecución del planificador en Spring 3
- 5. Finalización de la tarea del iPhone
- 6. ClassPath en hormiga para la tarea javac
- 7. Apio: obtenga la identificación de la tarea para la tarea actual
- 8. Tratar con la tarea de rake de ejecución muy larga
- 9. Línea de comando para ejecutar la tarea Ant con guión en el nombre de la tarea
- 10. Caso de uso para la tarea buildNeeded?
- 11. reintentar una tarea varias veces sobre la base de la entrada del usuario en caso de una excepción en tarea
- 12. ¿Una tarea cron mata la última ejecución de cron?
- 13. Detener con seguridad la tarea de larga ejecución
- 14. Tarea de ejecución prolongada (o para siempre) en Windows Azure
- 15. Trabajo de Hadoop: la tarea no informa del estado de 601 segundos
- 16. Suprimir la salida del registro para NAnt Eliminar Tarea
- 17. ¿Cómo uso "obtiene" en una tarea de rake?
- 18. Anular una tarea en ejecución en Apio dentro de django
- 19. ¿Cómo adjuntar una tarea personalizada para ejecutar antes de la tarea de prueba en sbt?
- 20. Mantenimiento de una tarea de ejecución prolongada en Linux
- 21. Abortar una tarea de larga ejecución en TPL
- 22. ¿Tarea SFTP para msbuild?
- 23. alias del nombre de la tarea en Rake
- 24. Notificar la tarea de apio del cierre del trabajador
- 25. ¿Cómo paso los argumentos de la tarea principal a la tarea secundaria en Rake?
- 26. Falló inesperadamente la tarea "CreateRiaClientFilesTask"
- 27. ¿Cómo usar la tarea XmlPeek?
- 28. SSIS: ¿Cómo deshabilitar la tarea?
- 29. Continuar la tarea de hilo principal
- 30. Cómo garantizar que una tarea de apio esté evitando la superposición de las ejecuciones de la tarea de apio