Hadoop教程的Task Side-Effect Files部分提到将任务的“尝试”用作唯一名称。如何在我的映射器或减速器中获得此尝试ID?获取当前正在运行的Hadoop任务的任务尝试ID
8
A
回答
11
如果您需要在Hadoop的一个副作用文件的唯一ID,您可以利用的尝试独特的ID与此代码的工作:
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
迟到了,但你可以使用TaskAttemptID
类来解析mapred.task.id
属性。
在我的情况,我想数字尝试值本身和使用我的映射如下:
int _attemptID;
@Override
public void configure(JobConf conf) {
TaskAttemptID attempt = TaskAttemptID.forName(conf.get("mapred.task.id"));
_attemptID = attempt.id();
}
9
有了新的Hadoop API:
context.getTaskAttemptID().getTaskID().getId()
相关问题
- 1. 在Chapel中获取当前任务ID?
- 2. 芹菜 - 获取当前任务的任务ID
- 3. Hadoop,正在运行的任务
- 4. 正在运行的任务进程ID
- 5. 试图在android中获取所有正在运行的任务?
- 6. 如果在当前正在运行的任务中发生异常,停止执行半任务任务
- 7. 如何获取ssis包中当前正在运行的任务的名称
- 8. ContinueWith任务完成前任务运行
- 9. 尝试获取Outlook中已分配任务的MAPI ID
- 10. 如何杀死当前正在运行的任务在Android Marshmallow
- 11. 在Apache Marathon上运行Hadoop/Storm任务
- 12. VBA获取正在运行的进程的程序名称和任务ID
- 13. 从ThreadPoolExecutor获取正在运行和排队的任务吗?
- 14. 获取芹菜中计划任务的任务ID
- 15. Gradle - 在子任务之前运行现有任务
- 16. 如何在构建之前获取gradle来运行任务?
- 17. Django芹菜重试()任务,但继续当前任务
- 18. Hadoop的 - 增加XML映射任务不增加地图的任务时运行
- 19. 获取案例活动的任务ID
- 20. 错误与竹NUnit的任务(尝试从的NuGet包运行)
- 21. 运行任务
- 22. GAE任务队列保持管理控制台中“任务正在运行”部分运行的负面任务
- 23. 重定向之前运行的任务
- 24. 从Hudson中运行的Ant任务获取当前登录用户
- 25. MySQL 5.5:获取当前的事务ID?
- 26. 在伪分布式hadoop中并行运行的Mapreduce任务
- 27. 在预供应之前运行任务
- 28. 从ASP.NET的Windows计划任务获取任务的上次运行日期
- 29. 如何在MSBuild任务中获取当前的CodeDomProvider
- 30. 在django中取消Celery中的正在运行的任务