La section Task Side-Effect Files du tutoriel Hadoop mentionne l'utilisation du "tentative" de la tâche comme nom unique. Comment puis-je obtenir cette ID de tentative dans mon mapper ou réducteur?Obtention de l'ID de la tentative de tâche pour la tâche Hadoop en cours d'exécution
8
A
Répondre
11
Si vous avez besoin d'un identifiant unique pour un fichier d'effets secondaires dans Hadoop, vous pouvez tirer parti de la tentative id unique dans le travail avec ce code:
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
fin à la partie, mais vous pouvez utiliser le TaskAttemptID
classe pour analyser la propriété mapred.task.id
.
Dans mon cas, je voulais la valeur numérique de tentative elle-même et utilisé ce qui suit dans mon Mapper:
int _attemptID;
@Override
public void configure(JobConf conf) {
TaskAttemptID attempt = TaskAttemptID.forName(conf.get("mapred.task.id"));
_attemptID = attempt.id();
}
9
Avec la nouvelle API Hadoop:
context.getTaskAttemptID().getTaskID().getId()
Questions connexes
- 1. Erreur tâche Rake en cours d'exécution à partir de l'IDE
- 2. Utilisation/implémentation de la fonction exsl node-set() dans la tâche XML de SSIS Tâche
- 3. Exécution manuelle de la tâche, en cours d'exécution à partir de cron Je reçois un sigfault
- 4. Recherche de chemins d'accès sources à l'aide de la tâche de recherche de tâche
- 5. Modèle de conception adapté à la tâche
- 6. Fin de la tâche planifiée en arrière-plan
- 7. Sortie de la tâche java dans Ant
- 8. Comment parcourir la tâche de boucle foreach?
- 9. MSBuild Tâche de lire la version de la DLL
- 10. Exécuteurs Java: attente de la fin de la tâche.
- 11. Alternative pour la tâche de recherche dans SSIS
- 12. Linux utilitaire de connaître la commande pour une tâche particulière
- 13. Tâche SFTP pour msbuild?
- 14. ma tentative de cours
- 15. une autre java.lang.ClassNotFoundException dans la tâche junit de la fourmi
- 16. Comment coder une tâche râteau pour déclencher une tâche BackgrounDRb?
- 17. SharePoint Modifier la liste des tâches Tâche
- 18. Tâche mise en commun de fil orienté
- 19. Java équivalent de fork dans la tâche Java de Ant?
- 20. La tâche de replanification de ColdFusion 8 scheduler n'est pas
- 21. Erreur d'échec de tâche planifiée
- 22. tâche Verilog
- 23. Répondre aux invites shell de la tâche Ant SSH (SSHEXEC)
- 24. Comment fonctionne la tâche de guerre des fourmis?
- 25. Comment configurer la tâche JUnit Ant pour produire uniquement une sortie en cas de défaillance?
- 26. La tâche NAnt exécutant "svn import" échoue
- 27. Façon simple d'éteindre les observateurs pendant la tâche de râteau?
- 28. tâche groovy ant
- 29. Rails Frais généraux de la tâche d'arrière-plan
- 30. Comment afficher les heures de la tâche cible dans CruiseControl.NET?