实现Mapper的两种方法
- 第一种
继承MapReduceBase 实现Mapper接口,在3.X版本使用是无论怎么导包都会报错不知道是怎么回事。
具体的代码如下所示:
public class MaxTemperatureMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {
@Override
public void map(LongWritable key, Text value, Context context) throws IOException {
// TODO Auto-generated method stub
}
}
- 第二种
可以直接继承Mapper类,我之前也是直接继承的。输入时不会产生错误。但是权威指南第4版以及3版的英文版使用的是第一种方法,不知道这两种方法有什么区别。
具体的代码如下所示:
public class MaxTemperatureMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
@Override
public void map(LongWritable key, Text value, Context context) throws IOException {
// TODO Auto-generated method stub
}
}