Mapreducebase и Mapper устарели
public static class Map extends MapReduceBase implements Mapper
MapReduceBase
, Mapper
и JobConf
устарели в Hadoop 0.20.203.
что мы должны использовать сейчас?
редактировать 1-для Mapper
и MapReduceBase
, я обнаружил, что нам просто нужно расширить 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);
}
}
}
Редактировать 2-Для JobConf
мы должны использовать такую конфигурацию:
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = new Job(conf);
job.setMapperClass(WordCount.Map.class);
}
Edit 3 - я нашел хороший учебник в соответствии с новым API : http://sonerbalkir.blogspot.com/2010/01/new-hadoop-api-020x.html
2 ответов
документация содержится информация, что использовать instaed этой depraceated классы:
например http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/JobConf.html
Deprecated. Use Configuration instead
Edit: при использовании Maven и Open Class declaration (F3) maven может автоматически загружать исходный код, и вы увидите содержимое комментариев javadoc с объяснениями.
существует не так много различных функциональность мудрый между старым и новым API, за исключением того, что старый API поддерживает функцию push to the map / reduce, в то время как новый API поддерживает и push и pull API. Хотя, новый API намного чище и легко развиваться.
здесь Джира для введения нового API. Кроме того, старый API был un-deprecated в 0.21 и будет удален в версия 0.22 или 0,23.
вы можете найти дополнительную информацию о новом API или иногда называемом "контекстными объектами"здесь и здесь.