package com.mapreduce;
import java.io.IOException;
import java.util.List;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
import com.commons.Data;
import com.digital.CameraGetter;
import com.utils.LoggerUtils;
public class DataGettingReducer extends Reducer<Text, Text, Text, Text> {
protected void reduce(
Text key,
java.lang.Iterable<Text> values,
org.apache.hadoop.mapreduce.Reducer<Text, Text, Text, Text>.Context context)
throws IOException, InterruptedException {
StringBuffer buffer = new StringBuffer();
for (Text url : values) {
LoggerUtils.log(DataGettingReducer.class.getName(), "map key:"
+ key + " value:<" + url + ">");
CameraGetter getter = new CameraGetter();
getter.setUrl(url.toString());
List<Data> datas = getter.getData();
for (Data data : datas) {
buffer.append(data.toString());
buffer.append("\n");
}
LoggerUtils.log(DataGettingReducer.class.getName(),
"datas" + datas.size());
}
Text outputValue = new Text();
outputValue.set(buffer.toString());
LoggerUtils.log(DataGettingReducer.class.getName(), buffer.toString());
context.write(key, outputValue);
};
}