Hello~ I've started to study Hadoop MapReduce.
When I use cleanup method in reduce, I get a error.
The method cleanup(Reducer.Context) of type exReduce must override or implement a supertype method.
I want to use cleanup method in reducer. but It's not easy to me.
What sholud I do..?
here is my example code.
public static class exReduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable>{
private ArrayList<ArrayList<Integer>> totalArr = new ArrayList<ArrayList<Integer>>();
private OutputCollector<Text, IntWritable> outputCollector = null;
@Override
public void configure(JobConf job){
}
@Override
public void reduce(Text cell, Iterator<IntWritable> measures, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException{
if(outputCollector == null) outputCollector = output;
ArrayList<Integer> arr = new ArrayList<Integer>();
StringTokenizer token = new StringTokenizer(cell.toString());
while(token.hasMoreTokens()){
arr.add(Integer.parseInt(token.nextToken()));
}
totalArr.add(arr);
}
@Override
protected void cleanup(Context context){
ArrayList<ArrayList<String>> cl_data = totalArr;
System.out.println("cl_data_size: "+cl_data.size());
System.out.println("cl_data: ");
for(int i = 0 ; i < cl_data.size(); i++){
for(int j = 0; j < cl_data.get(0).size(); j++){
System.out.println(cl_data.get(i).get(j)+" ");
}
System.out.println();
}
}
}
I want to use this line.
extends MapReduceBase implements Reducer
not use
extends Reducer.
Is there a method to solve it ??