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. web2py - 獲取當前正在運行的任務的ID
- 2. 在Chapel中獲取當前任務ID?
- 3. 芹菜 - 獲取當前任務的任務ID
- 4. Hadoop,正在運行的任務
- 5. 獲取當前任務
- 6. 正在運行的任務進程ID
- 7. 試圖在android中獲取所有正在運行的任務?
- 8. 如果在當前正在運行的任務中發生異常,停止執行半任務任務
- 9. Hadoop Map任務獲取StackOverflowError
- 10. 如何獲取ssis包中當前正在運行的任務的名稱
- 11. ContinueWith任務完成前任務運行
- 12. 嘗試獲取Outlook中已分配任務的MAPI ID
- 13. 如何殺死當前正在運行的任務在Android Marshmallow
- 14. 在Apache Marathon上運行Hadoop/Storm任務
- 15. 獲取當前芹菜任務ID在線程
- 16. 獲取運行在任務欄
- 17. VBA獲取正在運行的進程的程序名稱和任務ID
- 18. 從ThreadPoolExecutor獲取正在運行和排隊的任務嗎?
- 19. 獲取芹菜中計劃任務的任務ID
- 20. ExecutorService在提交新任務時取消當前任務
- 21. Spring Cloud DataFlow - 運行任務後獲取執行ID
- 22. Android開發 - 在正常代碼運行之前獲取Asyn任務的結果
- 23. Gradle - 在子任務之前運行現有任務
- 24. Django芹菜重試()任務,但繼續當前任務
- 25. 如何在構建之前獲取gradle來運行任務?
- 26. 獲取案例活動的任務ID
- 27. Hadoop的 - 增加XML映射任務不增加地圖的任務時運行
- 28. BackgroundWorker當前正忙,無法同時運行多個任務
- 29. 在stb測試任務期間運行setup/teardown任務
- 30. 運行任務