如何在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条答案
按热度按时间ef1yzkbh1#
您正在迭代中的结果
values
一旦你对它们进行了迭代,你就不能再这样做了。提供总计数
values
如果不太大,您可以尝试将值设置为本地集合变量,然后您应该能够对它们进行多次迭代。试试这个:java:多次使用枚举