![](/img/trans.png)
[英]Error in Mapper Task in Hadoop 2.2 using MultilineJSON format
[英]Mapper progress in Hadoop for running task
我正在处理Hadoop中的zip文件。 每个zip文件包含2000个XML文件。 单个映射器将花费90至60分钟来完成该过程 。 我正在使用Windows和具有12 GB RAM的6核计算机。
我的问题是:我的进度条仅在过程完成时显示结果。 进度状态为0%,直到完成任务为止 ,如下所示
如何实用地更改进度值?
我尝试了以下代码:
InputDocXmlCount++;
if (InputDocXmlCount % 100 == 0)
{
context.progress();
runningJob.mapProgress();
}
但是我不知道该怎么做? 谁能帮我?
MR框架代码无法决定如何显示百分比,因为(我假设)您正在使用某些特定的InputFormat。 显然,框架不是为您计算zip中的xml文件数量并预测每100条记录一次报告进度的聪明方法。
但是,请查看MR计数器。 您至少可以计算已经处理的xml文件数量
您无法直接控制进度值,但可以考虑通过从映射器代码中调用TaskAttemptContext#setStatus来实现自定义状态消息。 例如,您可以使该消息成为动态消息,其中包括处理的XML文件的数量,并定期更新状态字符串中的数量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.