2

如何对在 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];
           }
}

请给我解决方案???谢谢 :)

4

1 回答 1

2

您正在对结果进行迭代values,一旦对它们进行了迭代,就不能再这样做了。

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

试试这个:Java:多次使用枚举

于 2013-04-22T08:26:17.783 回答