2013-08-16 3 views
0

Я новичок в Hadoop. Моя задача - найти сотрудника, у которого максимальная зарплата. В моем классе firstmap я разделил слово и вставил ключ и значение, как это -chaining mapreduce jobs in hadoop

outputcollector.collect("salary",salary); 

В моем редукторе я нашел максимальную зарплату и поставил выход, как этот

outputcollector.collect("max salary",maxsalary); 

Теперь я хочу использовать выход этого редуктора в другом устройстве отображения. Я построил цепь как этого

JobConf mapAConf = new JobConf(false); 
     ChainMapper.addMapper(conf, mymap.class, LongWritable.class, Text.class, Text.class, IntWritable.class, true, mapAConf); 

JobConf reduceConf = new JobConf(false); 
     ChainReducer.setReducer(conf, myreduce.class, Text.class, IntWritable.class, Text.class, IntWritable.class, true, reduceConf); 

JobConf mapCConf = new JobConf(false); 
     ChainReducer.addMapper(conf, LastMapper.class, Text.class, IntWritable.class, Text.class, IntWritable.class, true, mapCConf); 

Но редуктор не получает казнен. Любая помощь по этому поводу?

+0

У вас есть какие-либо ошибки в стеке? Благодаря! –

+0

nope no error..but редуктор не выполняется – user1585111

ответ

0

Вам необходимо создать & установить тот же JobConf для обоих преобразователей & редуктор для одной карты/Уменьшить работу.