在reduce阶段(hadoop)多次迭代键/值?

rm5edbpk  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(447)

如何在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:)

ef1yzkbh

ef1yzkbh1#

您正在迭代中的结果 values 一旦你对它们进行了迭代,你就不能再这样做了。
提供总计数 values 如果不太大,您可以尝试将值设置为本地集合变量,然后您应该能够对它们进行多次迭代。
试试这个:java:多次使用枚举

相关问题