Mappeur entrée paire valeur-clé dans Hadoop

Normalement, nous écrivons le mappeur dans la forme :

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

Ici l'entrée de paires clé-valeur pour le mappeur est <LongWritable, Text> - autant que je sache, lorsque le mappeur obtient les données d'entrée de son passe à travers la ligne de ligne, de sorte que la Clé pour le mappeur indique le numéro de la ligne - s'il vous plaît corrigez-moi si je me trompe.

Ma question est : Si je donne l'entrée de paires clé-valeur pour mapper comme <Text, Text> puis c'est ce qui donne l'erreur

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

Est-il obligatoire de donner à l'entrée de paires clé-valeur de mapper comme <LongWritable, Text> - si oui, alors pourquoi ? si non alors quelle est la raison de l'erreur ? Pouvez-vous svp m'aider à comprendre le bon raisonnement de l'erreur ?

Merci d'avance.

source d'informationauteur Ronin