分別在每個mapper和reducer任務中調用setup和cleanup方法嗎?還是他們在整個映射器和減速器工作開始時只召喚過一次?Hadoop Mapper中Mapper/Reducer的設置和清理方法MapReduce
17
A
回答
20
他們被稱爲每個任務,所以如果你有20個映射器運行,每個人都會調用setup/cleanup。
一個問題是Mapper和Reducer的標準運行方法不能捕獲map/reduce方法的異常 - 所以如果在這些方法中拋出異常,則不會調用清理方法。
4
一個澄清是有幫助的。安裝/清理方法用於初始化和清理任務級別。在一個任務中,首先進行初始化,然後對setup()方法進行一次調用,然後完成對map()[或reduce()]函數的所有調用。之後,在退出任務之前將另外調用一次cleanup()方法。
2
它被稱爲每個Mapper任務或Reducer任務。 這裏是hadoop代碼。
public void run(Context context) throws IOException, InterruptedException {
setup(context);
try {
while (context.nextKey()) {
reduce(context.getCurrentKey(), context.getValues(), context);
}
} finally {
cleanup(context);
}
}
1
按照mapreduce documentation 建立和清除被稱爲每個映射器和減速的任務。
1
關於reducer你可以在工作中做job.setNumReduceTasks(1);這樣,只能運行一次減速器的設置和清理。
相關問題
- 1. Hadoop - MapReduce - Mapper輸出類型
- 2. Hadoop中的Mapper和Reducer
- 3. 的Hadoop和MapReduce配置
- 4. Hadoop和MapReduce
- 5. Hadoop中的MapReduce
- 6. 在hadoop mapReduce項目下設置pom.xml
- 7. Hadoop:設置MapReduce資源權限
- 8. 更好的Hadoop抽樣方法MapReduce
- 9. Hadoop Mapper類中的參數
- 10. Hadoop MapReduce DBInputFormat和DBOutputFormat
- 11. mapreduce中的reducers hadoop
- 12. Hadoop MapReduce中的DataJoins
- 13. mapreduce輸入分割數量和mapper數量之間的關係hadoop
- 14. hadoop mapreduce
- 15. Hadoop配置:mapred。* vs mapreduce。*
- 16. Hadoop Mapreduce配置(新API)
- 17. 打包和部署Hadoop MapReduce作業的正確方法?
- 18. hadoop的Dumbo mapreduce
- 19. Hadoop的文本類設置方法
- 20. 將進度跟蹤機制添加到hadoop MapReduce清理
- 21. 如何清理hadoop mapreduce內存使用情況?
- 22. 這些Hadoop設置/清理/運行時間是否合理?
- 23. Cassandra和MapReduce - 最低設置要求
- 24. 將RecordReader上下文設置爲Hadoop中的段落MapReduce
- 25. Hadoop MapReduce中Mapper的最大輸入文件大小(無分割)是多少?
- 26. 如何設置mapper的系統環境?
- 27. Mapreduce隊列設置
- 28. Hadoop Mapper的採樣記錄
- 29. Hadoop集羣和MapReduce邏輯
- 30. 如何從Mapper Hadoop設置系統環境變量?
人們總是可以在map/reduce中的異常的catch子句中調用清理方法。然而,這需要對可能的異常進行智能分析並放入try/catch條款來捕捉它們。 – abhinavkulkarni