2014-01-15 4 views
0

Iam новичок в hadoop. Я решил создать программу анализа настроений. У меня есть класс сопоставления. Результатом отображения является формат LongWritable и Text. который вводится в редуктор. Следовательно, у меня есть класс редуктора какПереопределение в редукторе hadoop

public class sentreducer extends Reducer<LongWritable,Text,LongWritable,Text>{ 
      @Override 
      public void reduce(LongWritable key,Iterable<Text>value,Context context){ 
      } 

Компилятор показывает ошибку, заявляя, что метод не может быть переопределен. Почему это так?

ответ

0

Я думаю, вы должны бросать IOException и InterruptedException в методе снижения т.е.

public class sentreducer extends Reducer<LongWritable,Text,LongWritable,Text>{ 
    @Override 
    public void reduce(LongWritable key,Iterable<Text> value,Context context) throws IOException, InterruptedException { 
    } 
} 
+0

true :) работает сейчас – Rakshith

1

метод подпись должна быть

public void reduce(LongWritable key, Iterator<Text> values, 
     OutputCollector<LongWritable, Text> collector, Reporter reporter) throws IOException 
+0

Это работает. Но я считаю, что это старше Hadoop Api, в котором вы расширяли класс mapreduce – Rakshith

+0

Да, я сделал работу над hadoop 1.2. – Rahul

Смежные вопросы