Par de valores-chave de entrada do mapeador no Hadoop
Normalmente, escrevemos o mapeador no formulário:
public static class Map extends Mapper<**LongWritable**, Text, Text, IntWritable>
Aqui, o par de valores-chave de entrada para o mapeador é<LongWritable, Text>
- até onde eu sei quando o mapeador obtém os dados de entrada, ele passa por linha por linha - então a Chave para o mapeador indica o número da linha - por favor me corrija se eu estiver errado.
Minha pergunta é: se eu der o par de valor-chave de entrada para o mapeador como<Text, Text>
então está dando o erro
java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
É obrigatório fornecer o par de mapeamento de valor-chave de entrada como<LongWritable, Text>
- se sim, então porque? se não, então qual a razão do erro? Você pode por favor me ajudar a entender o raciocínio correto do erro?
Desde já, obrigado.