public static class Map extends MapReduceBase implements Mapper
MapReduceBase
, Mapper
y JobConf
están en desuso en Hadoop 0.20.203.MapReduceBase y Mapper en desuso
¿Qué deberíamos usar ahora?
Edición 1 - para la Mapper
y la MapReduceBase
, me encontré con que sólo tenemos que extiende la Mapper
public static class Map extends Mapper
<LongWritable, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output,
Reporter reporter) throws IOException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
output.collect(word, one);
}
}
}
Edición 2 - Para JobConf
debemos utilizar la configuración de la siguiente manera:
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = new Job(conf);
job.setMapperClass(WordCount.Map.class);
}
Editar 3 - Encontré un buen tutorial de acuerdo con la nueva API: http://sonerbalkir.blogspot.com/2010/01/new-hadoop-api-020x.html
¿Qué dice la documentación que deberías usar? Por lo general, cuando algo está en desuso, el Javadoc le dirá qué debe usar en su lugar. – rossum