Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 在close()方法中报告作业状态/进度_Hadoop_Distributed Computing - Fatal编程技术网

Hadoop 在close()方法中报告作业状态/进度

Hadoop 在close()方法中报告作业状态/进度,hadoop,distributed-computing,Hadoop,Distributed Computing,我在hadoop中遇到了超时问题,我的工作被终止了。close()方法中有大量的清理工作,因此在执行这些清理时,我需要更新close方法中的进度 对于这种情况,增加超时不是一个好的选择,因为它不能随清理工作的量而伸缩 我看到的遗留作业使用的是旧API,它在reduce()方法中有一个reporter对象,可用于更新进度。但是,close()方法中没有这样的报告器。有什么解决办法吗?试试使用 Hadoop提供了可编程接口,其中包含这个有趣的方法Public void Progress()。Cont

我在hadoop中遇到了超时问题,我的工作被终止了。close()方法中有大量的清理工作,因此在执行这些清理时,我需要更新close方法中的进度

对于这种情况,增加超时不是一个好的选择,因为它不能随清理工作的量而伸缩

我看到的遗留作业使用的是旧API,它在reduce()方法中有一个reporter对象,可用于更新进度。但是,close()方法中没有这样的报告器。有什么解决办法吗?

试试使用

Hadoop提供了可编程接口,其中包含这个有趣的方法
Public void Progress()
。Context类实现此接口,因此任何映射器或reducer都可以调用:

context.progress()
显示它是活动的并继续处理


作为最后的手段,既然您确信这不是一个好的选择,那么您可以增加该配置属性:

<property>
  <name>mapreduce.task.timeout</name>
  <value>2000000</value>
</property>
此属性的值越高,对您的情况越好。默认值为600000。

尝试使用

Hadoop提供了可编程接口,其中包含这个有趣的方法
Public void Progress()
。Context类实现此接口,因此任何映射器或reducer都可以调用:

context.progress()
显示它是活动的并继续处理


作为最后的手段,既然您确信这不是一个好的选择,那么您可以增加该配置属性:

<property>
  <name>mapreduce.task.timeout</name>
  <value>2000000</value>
</property>

此属性的值越高,对您的情况越好。默认值为600000。

旧API中类似的类称为Reporter。但它并没有传递到reducer中的close()方法中。在减速机的有生之年,记者是单身吗?如果是,我是否可以将其分配给对象级字段,并在以后用于报告进度?旧API中的类似类称为Reporter。但它并没有传递到reducer中的close()方法中。在减速机的有生之年,记者是单身吗?如果是,我是否可以将其指定给对象级字段,并在以后用于报告进度?