Các phương pháp thiết lập và dọn dẹp có được gọi là trong mỗi tác vụ lập bản đồ và giảm tốc tương ứng không? Hay họ chỉ được gọi một lần khi bắt đầu công việc lập bản đồ và giảm tốc tổng thể?phương pháp thiết lập và dọn dẹp của Trình ánh xạ/Giảm tốc trong Hadoop MapReduce
Trả lời
Chúng được gọi cho mỗi tác vụ, vì vậy nếu bạn có 20 người lập bản đồ đang chạy, thiết lập/dọn dẹp sẽ được gọi cho từng công việc.
One gotcha là phương pháp chạy chuẩn cho cả Mapper và Reducer không bắt ngoại lệ xung quanh các phương pháp giảm/giảm bản đồ - vì vậy nếu ngoại lệ được ném vào các phương pháp này, phương pháp dọn dẹp sẽ không được gọi.
Một cách làm rõ là hữu ích. Các phương pháp thiết lập/dọn dẹp được sử dụng để khởi tạo và làm sạch ở cấp nhiệm vụ. Trong một nhiệm vụ, khởi tạo đầu tiên xảy ra với một cuộc gọi đến phương thức setup() và sau đó tất cả các cuộc gọi đến hàm map() [hoặc reduce()] sẽ được thực hiện. Sau đó, một cuộc gọi khác sẽ được thực hiện cho phương thức cleanup() trước khi thoát khỏi nhiệm vụ.
Nó được gọi là nhiệm vụ Mapper hoặc Tác vụ giảm tốc. Đây là mã hadoop.
public void run(Context context) throws IOException, InterruptedException {
setup(context);
try {
while (context.nextKey()) {
reduce(context.getCurrentKey(), context.getValues(), context);
}
} finally {
cleanup(context);
}
}
Theo mapreduce documentation thiết lập và dọn dẹp được gọi là cho mỗi Mapper, nhiệm vụ giảm tốc.
trên bộ giảm tốc bạn có thể thực hiện công việc. JobNsetReduceTasks (1); và theo cách đó, việc thiết lập và dọn dẹp bộ giảm tốc sẽ chỉ chạy một lần.
- 1. Dọn dẹp thiết lập lặp đi lặp lại và dọn dẹp Java (JDBC) mã
- 2. AppDomain.CurrentDomain.ProcessExit và dọn dẹp
- 3. Phương pháp dọn dẹp Django ném KeyError trên POST
- 4. Hadoop MapReduce: Có thể xác định hai trình lập bản đồ và bộ giảm tốc trong một lớp công việc hadoop?
- 5. JQuery dọn dẹp eventhandlers
- 6. "phương pháp thiết lập tài sản không tìm thấy" lỗi trong quá trình phản ánh
- 7. Hadoop MapReduce file nhiều Input
- 8. Có thể có nhiều đầu vào với nhiều trình ánh xạ khác nhau trong Hadoop MapReduce không?
- 9. dọn dẹp các tệp phiên php
- 10. Dọn dẹp hàng loạt astar
- 11. Thiết lập quyền cho cloudera hadoop
- 12. Dọn dẹp các tệp CSS
- 13. C dọn dẹp mã sắc nét: resharper
- 14. Dọn dẹp mã không mong muốn C#
- 15. Giá trị giảm tốc của Hadoop trong bộ nhớ?
- 16. Thiết lập thông số hadoop với boto?
- 17. Ý tưởng dự án với Hadoop MapReduce
- 18. Đa luồng - Chiến lược dọn dẹp ở cuối chương trình
- 19. Bắt đầu với MapReduce/Hadoop
- 20. Hadoop MapReduce, câu hỏi triển khai Java
- 21. Emacs: Dọn dẹp hoàn tác cây
- 22. Dọn dẹp các liên kết của Magento Modman
- 23. Cách dọn dẹp một dự án Android?
- 24. Hadoop: OutputCollector hoạt động như thế nào trong MapReduce?
- 25. Pthread có thể tự dọn dẹp không?
- 26. Tự động dọn dẹp cho TortoiseSVN
- 27. Nhật ký xoay vòng và dọn dẹp NLog
- 28. Phương pháp thiết kế ngôn ngữ lập trình đơn giản
- 29. xách tay tương đương với __ __attribute gcc của (dọn dẹp)
- 30. Tự động biến để dọn dẹp Makefile.am
Người ta luôn có thể gọi phương thức dọn dẹp trong điều khoản bắt của một ngoại lệ trong bản đồ/giảm. Tuy nhiên, điều này đòi hỏi phải phân tích thông minh các ngoại lệ có thể xảy ra và đưa vào các mệnh đề 'try/catch' để bắt chúng. – abhinavkulkarni