本身求平均数很简单的,必须用到combine的话我在两个地方废了很多时间,
一是combine的输入不仅仅是map的输出,还有可能是combine的输出,所以对value的处理得分两种情况吧;
二是结果要保留4位有效数字。。。噗,注意保留4位有效数字不等于小数点后面有四位,第二不能用parse!它只能转成整形。
第三,代码写的实在比较挫,哎。
import java.io.IOException;
import java.math.BigDecimal;
import java.math.MathContext;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputForm