在Reduce阶段(HADOOP)中多次迭代键/值?

时间:2013-04-22 07:32:58

标签: hadoop mapreduce iteration key-value reduce

如何在HADOOP的Reduce阶段中接收的键/值对上多次迭代。我想做类似的事情,但它没有进入第二次迭代。

for (Vector value : values)
 {

    sum += value.getVector()[length-1];
   for (int i = 1; i < length-1; i++)
     {
      value.getVector()[i]=value.getVector()[i]/value.getVector()[length-1];
      mean[i]+=value.getVector()[i];
         }
}

for (Vector value : values)
 {
    for (int i = 1; i < length-1; i++) 
           {
            value.getVector()[i]=value.getVector()[i]/value.getVector()[length-1];
           }
}
请给我解决方案??? thnx:)

1 个答案:

答案 0 :(得分:2)

你正在迭代values中的结果,一旦你迭代了它们就不能再做了。

values中提供总计数不是太大,您可以尝试将值设置为本地集合变量,然后您应该能够多次迭代它们。

试试这个:Java: use Enumeration multiple times