java—在hadoop中,如果mapper或reducer清理方法失败会发生什么

xmq68pz9  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(477)

参照此方法:https://hadoop.apache.org/docs/r2.8.5/api/org/apache/hadoop/mapreduce/mapper.html#cleanup(org.apache.hadoop.mapreduce.mapper.context)
如果mapper/reducer清理方法失败,那么mapper/reducer任务是否失败?
如果mapper/reducer清理方法失败,hadoop会重试整个任务吗?
谢谢

5ktev3wc

5ktev3wc1#

应用程序可以重写cleanup(context)方法来执行任何所需的清理。
它被称为每Map器任务或缩减器任务。清理方法应在每个任务结束时调用。如果执行中有n个Map器,则会调用n次相应的清理,如果在代码中运行m个reducer,则会调用m次。
cleanup可用于释放分配的内存或删除临时文件/目录或根据需要进行其他处理(如context.write(key,value)可用于从mapper的cleanup方法中发出一个值,并发送到reducer)
如果mapper/reducer清理方法失败,那么mapper/reducer任务是否失败?
如果mapper/reducer清理方法失败,hadoop会重试整个任务吗?
如果任务无法清理(在异常块中),将使用相同的尝试id启动一个单独的任务来执行清理。
有关更多信息,请参阅此链接:https://hadoop.apache.org/docs/r2.8.5/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapreducetutorial.html

相关问题