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

标签 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];
           }
}

请给我解决办法???谢谢:)

最佳答案

您正在迭代 values 中的结果,一旦迭代它们,就无法再次执行此操作。

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

试试这个:Java: use Enumeration multiple times

关于hadoop - 在Reduce 阶段(HADOOP)多次迭代键/值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16141685/

相关文章:

java - 对 Hadoop Map-Reduce 应用程序进行基准测试

python - 如何遍历 Jinja 模板中的字典列表?

dataframe - 获取 Julia 数据框中一行的索引(类似于 iterrows?)

java - 如何在 java 中迭代 bson 文档

hadoop - 如何使用PIG/HIVE/HBASE从文件动态加载没有文本限定符的数据?

MongoDB - 使用聚合框架或 mapreduce 匹配文档中的字符串数组(配置文件匹配)

Pig 中的 Python UDF

python - 在python中使用Hadoop处理大型csv文件

bash - 在Shell脚本中使用Hive命令

python - Hadoop 流 - 意想不到的争论