当前位置: 首页 > 知识库问答 >
问题:

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

宗政卓
2023-03-14

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

  • 如果映射器/还原器清理方法失败,映射器/还原器任务是否失败?
  • 如果映射器/还原器清理方法失败,Hadoop会重试整个任务吗?

谢谢

共有1个答案

邓昊天
2023-03-14

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

它将被称为每个映射器任务或简化器任务。cleanup方法应在每个任务结束时调用。如果执行中有N个映射器,则相应的清理将被调用N次,如果您在代码中运行了M个精简器,则将被调用M次。

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

如果mapper/reducer清理方法失败,Hadoop会重试整个任务吗?

如果任务无法清除(在异常块中),将使用相同的尝试ID启动一个单独的任务进行清除。

有关更多信息,请参见此链接:https://hadoop.apache.org/docs/r2.8.5/hadoop-Mapreduce-client/hadoop-Mapreduce-client-core/mapreduceTutorial.html

 类似资料:
  • 我正试图在一些维基百科转储(以压缩的bz2形式)上运行一个带有java Mapper/Reducer的hadoop流作业。我正在尝试使用WikiHadoop,这是Wikimedia最近发布的一个界面。 WikiReader_Mapper。JAVA 维基阅读器。JAVA 我正在运行的命令是 我收到的错误信息是 我更熟悉新的hadoop API和旧的。由于我的mapper和reducer代码位于两个不

  • 我是线程新手,目前正在学习线程同步章节。关于线程锁定中的一个场景,我有一个问题 以下是我所知道的: 1:当我在实例方法中放置实例锁时(即) 这里将发生的情况是,如果有一个类X的对象A被多个线程共享,并且一些线程t1正在执行f1的块,那么直到t1退出f1块,所有试图进入函数f3的其他线程,f1都将被阻止。f2和f4的情况也是如此。 现在,在静态锁的情况下,如果一个类有多个静态方法,并且我们希望这些方

  • 问题内容: 我正在尝试在Hadoop上执行map reduce程序。 当我将工作提交到hadoop单节点集群时。正在创建作业,但消息失败 “被ApplicationMaster杀死的容器” 使用的输入大小为10 MB。 当我使用输入文件400 KB的相同脚本时,它成功了。但是输入大小为10 MB的输入文件失败。 在我的终端中显示的完整日志如下。 我的映射器在这里触发另一个程序,该程序将在这里处理我

  • HUKS生成的密钥在什么情况下会消失或被清理

  • 本文向大家介绍svn 清理失败 (cleanup 失败) 的快速解决方法,包括了svn 清理失败 (cleanup 失败) 的快速解决方法的使用技巧和注意事项,需要的朋友参考一下 1、cmd指令,进入.svn目录,找到wc.db文件 sqlite 3 打开 2、 对 svn源代码目录 右键, clean up, 稍等1至5分钟左右,然后会提示 清理成功 以上就是小编为大家带来的svn 清理失败 (

  • 我只是使用3机器集群测试单词计数示例。我的代码与此示例相同,但以下代码除外: