在Hadoop中,如果映射器或化简器清除方法失败,会发生什么

问题描述 投票:0回答:1

参考此方法:https://hadoop.apache.org/docs/r2.8.5/api/org/apache/hadoop/mapreduce/Mapper.html#cleanup(org.apache.hadoop.mapreduce.Mapper.Context)

  • 如果映射器/缩减器清理方法失败,那么映射器/缩减器任务是否失败?
  • 如果映射器/缩减器清理方法失败,Hadoop将重试整个任务吗?

谢谢

java hadoop
1个回答
0
投票

应用程序可以重写cleanup(Context)方法以执行任何必需的清理。

应根据每个Mapper任务或Reducer任务进行调用。在每个任务结束时应调用清理方法。如果执行中有N个映射器,则对应的清理将被调用N次,并且如果您在代码中运行M个reducer,则应调用M次。

cleanup可用于释放分配的内存或删除临时文件/目录或根据需要进行其他处理(例如,context.write(key,value)可用于从mapper的cleanup方法中发出一个值,并且将被发送到减速器)

如果映射器/缩减器清理方法失败,映射器/缩减器是否会清除?任务失败?

如果映射器/还原器清理方法失败,Hadoop将重试整个任务?

如果任务无法清理(在异常块中),将使用相同的try-id启动一个单独的任务进行清理。

请参阅此链接以获取更多信息:https://hadoop.apache.org/docs/r2.8.5/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

© www.soinside.com 2019 - 2024. All rights reserved.