案例二
现有一个文件,需要统计奇偶行的和,即:统计 1,3,5…的和与2、4、6…行的和
分析:
k1是行号,v1是行记录
<k1,v1>----map----<k2,v2>----reduce----<k3,v3>
1 12 key1,[v,v,v,…] 奇数:num
2 13 key2,[v,v,v,…] 偶数:num
3 24 key3,[v,v,v,…] 奇数:num
MyRecordReader
public class MyRecordReader extends RecordReader<LongWritable, Text>{
private long start;
private long pos;
private long end;
private LineReader in;
private FSDataInputStream fileIn;
private LongWritable key;
private Text value;
@Override
public void initialize(InputSplit split, TaskAttemptContext context) throws IOException, InterruptedException {
// TODO Auto-generated method stub
FileSplit filesplit = (FileSplit) split;
Path path = filespli