hadoop将int数组从map传递到reducer并作为输出

jvlzgdj9  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(428)

我正在学习使用hadoop,遇到了以下问题:我需要将int数组从map函数传递到reducer,然后作为输出。
看起来是这样的:

public void map(LongWritable key,Text value,OutputCollector<Text, IntWritable> output,Reporter reporter) throws IOException{
..snip..
int[] output={0,0,1,1}; //or something like it
output.collect(word,output);
}

and 

public static class reduce exteds mapReduceBase implements reducer<Text,IntWritable,Text, Intwriteable>{
  int[] sum={0,0,0,0}
  while(values.hasNext()){
   int[] numbers=values.next().get
    for(int i=0;i<numbers.length;i++)
       sum[i]=sum[i]+numbers[i]; 
  }
}

如果你知道如何解决这个问题,请张贴。谢谢。

ctzwtxfj

ctzwtxfj1#

研究写你自己的习惯 Writable (应易于扩展 ArrayWritable -实际上,这个类的javadoc有一个 IntWritable 数组)。

相关问题