Обычно мы записываем отображение в виде:
public static class Map extends Mapper<**LongWritable**, Text, Text, IntWritable>
Здесь пара ключей ввода-вывода для преобразователя <LongWritable, Text>
- насколько я знаю, когда картограф получает входные данные, он проходит по строкам - так что ключ для картографа означает номер строки - пожалуйста, исправьте если я ошибаюсь.
Мой вопрос: если я даю пару ключ-значение ввода для mapper как <Text, Text>
, то он дает ошибку
java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
Обязательно ли вводить пару ключ-значение для ввода ключа в качестве <LongWritable, Text>
- если да, то почему? если нет, то в чем причина ошибки? Можете ли вы, пожалуйста, помочь мне понять правильную аргументацию ошибки?
Спасибо заранее.