Phần Task Side-Effect Files của hướng dẫn Hadoop đề cập đến việc sử dụng "cố ý" của tác vụ dưới dạng tên duy nhất. Làm thế nào để tôi có được ID cố định này trong trình ánh xạ hoặc bộ giảm tốc của tôi?Nhận ID cố gắng nhiệm vụ cho tác vụ Hadoop hiện đang chạy
8
A
Trả lời
11
Nếu bạn cần một id duy nhất cho một tập tin tác dụng phụ trong hadoop, bạn có thể tận dụng các nỗ lực id duy nhất trong công việc với mã này:
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
muộn để đảng, nhưng bạn có thể sử dụng TaskAttemptID
để phân tích thuộc tính mapred.task.id
.
Trong trường hợp của tôi, tôi muốn giá trị nỗ lực số chính nó và sử dụng như sau trong Mapper của tôi:
int _attemptID;
@Override
public void configure(JobConf conf) {
TaskAttemptID attempt = TaskAttemptID.forName(conf.get("mapred.task.id"));
_attemptID = attempt.id();
}
9
Với Hadoop API mới:
context.getTaskAttemptID().getTaskID().getId()
Các vấn đề liên quan
- 1. Cần tây - Nhận id tác vụ cho tác vụ hiện tại
- 2. Hadoop - tăng nhiệm vụ bản đồ trong xml không tăng nhiệm vụ bản đồ khi chạy
- 3. Rx và tác vụ - hủy tác vụ đang chạy khi tác vụ mới được sinh ra?
- 4. Sự cố với Trình lập lịch tác vụ khởi chạy tác vụ
- 5. Hủy bỏ tác vụ đang chạy trong Celery trong django
- 6. Django Celery nhận nhiệm vụ
- 7. Đang cố gắng ẩn và hiển thị các mục menu trên thanh tác vụ
- 8. ProgressDialog không hiển thị khi đang thực hiện tác vụ
- 9. Chạy nhiệm vụ cần tây khi không thể nhập nhiệm vụ
- 10. sfConfig :: nhận nhiệm vụ trong symfony
- 11. Chaining nhiều nhiệm vụ mapreduce trong Hadoop streaming
- 12. Tạo nhiệm vụ Capistrano thực hiện các tác vụ khác nhau dựa trên vai trò
- 13. Lập lịch nhiệm vụ chạy một lần, sử dụng không gian tên nhiệm vụ Spring
- 14. Thực hiện tác vụ Ant với Maven
- 15. Cách chạy tác vụ khi dịch vụ windows khởi động?
- 16. Làm thế nào để thực hiện nhiệm vụ cần tây từ bên trong nhiệm vụ?
- 17. JavaFX - đang đợi tác vụ hoàn thành
- 18. Cách lên lịch một nhiệm vụ để thực hiện trong Thư viện song song nhiệm vụ
- 19. Lưu trữ id tác vụ cho mỗi tác vụ cần tây trong cơ sở dữ liệu
- 20. Chạy một nhiệm vụ sau khi tất cả các nhiệm vụ đã được hoàn thành
- 21. Cách đặt PreProcessorDefinitions là một nhiệm vụ thích hợp cho tác vụ msbuild
- 22. Thực hiện SQL trong tác vụ Gradle?
- 23. Chạy nhiệm vụ SBT từ Eclipse
- 24. cần tây nhận nhiệm vụ đếm
- 25. Cố gắng tạo một tác vụ được lập lịch để chạy khi sử dụng C++, Task Scheduler 1.0 trên win7
- 26. Scala nhiều nhiệm vụ để biến hiện
- 27. Tại sao bộ lập lịch tác vụ mùa xuân chờ nhiệm vụ trước đó kết thúc?
- 28. BackgroundWorker này hiện đang bận và không thể chạy nhiều tác vụ đồng thời
- 29. Thực hiện các biến tác vụ cục bộ cho Thời gian chạy đồng thời
- 30. Trong cần tây làm thế nào để có được trạng thái nhiệm vụ cho tất cả các nhiệm vụ cho tên nhiệm vụ cụ thể?