在减速器中存储和打印值



任何人都可以帮助我在以下代码中查找错误。我需要将值存储在 arraylist 中,然后使用它进行进一步处理,但这段代码读取一个值,打印它并存储在 arraylist 中,然后根据我在 arraylist 循环中的第二个打印语句再次打印它。但是我想将所有元素存储在arraylist中,然后想要打印它。请帮忙!!谢谢

    public class tempreducer extends Reducer<LongWritable,Text,IntWritable,Text> {
  public void reduce(LongWritable key, Iterable<Text> values,
        Context context) throws IOException, InterruptedException {
    System.out.println("reducer");
    ArrayList<String> vArrayList = new ArrayList<String>();
    for(Text v: values)
    {
        String line=v.toString();
        System.out.println(line);
        vArrayList.add(line);
    }
    for(int i = 0; i < vArrayList.size(); ++i)
     {
         System.out.println("value"+vArrayList.get(i));
     }

Hadoop MapReduce pass键 - 值列表对于您拥有的每一把钥匙。

如果要打印所有键的所有值。在你的映射器中尝试有一个键,比如

output.collect("hadoop", value);

上面会将所有值放入一个迭代器中。

相关内容

  • 没有找到相关文章

最新更新