Wejście Mappera Para klucz-wartość w Hadoop

Normalnie piszemy mapper w postaci:

public static class Map extends Mapper<**LongWritable**, Text, Text, IntWritable>

Oto wejściowa para klucz-wartość dla programu odwzorowującego<LongWritable, Text> - o ile wiem, kiedy program odwzorowujący pobiera dane wejściowe przez linię po linii - tak więc klucz do programu odwzorowującego oznacza numer linii - popraw mnie, jeśli się mylę.

Moje pytanie brzmi: jeśli podam wejściową parę klucz-wartość dla programu odwzorowującego jako<Text, Text> to daje błąd

 java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text

Czy obowiązkowe jest podanie wejściowej pary klucz-wartość programu odwzorowującego jako<LongWritable, Text> - jeśli tak, to dlaczego? jeśli nie, to jaka jest przyczyna błędu? Czy możesz mi pomóc zrozumieć właściwe rozumowanie błędu?

Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion