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ę.