В моей единственной задаче MapReduce я переопределяю BytesWritable как KeyBytesWritable и переопределяю ByteWritable как ValueBytesWritable. Затем я вывожу результат, используя SequenceFileOutputFormat.
Мой вопрос: когда я запускаю следующую задачу MapReduce, я хочу использовать этот SequenceFile в качестве входного файла. Итак, как я могу установить класс задания и как класс Mapper может идентифицировать ключ и значение в SequenceFile, которые я переопределил ранее?
Я понимаю, что я мог SequenceFile.Reader прочитать ключ и значение.
Configuration config = new Configuration();
Path path = new Path(PATH_TO_YOUR_FILE);
SequenceFile.Reader reader = new SequenceFile.Reader(FileSystem.get(config), path, config);
WritableComparable key = (WritableComparable) reader.getKeyClass().newInstance();
Writable value = (Writable) reader.getValueClass().newInstance();
while (reader.next(key, value))
Но я не знаю, как использовать этот Reader для передачи ключа и значения в класс Mapper в качестве параметров. Как я могу установить conf.setInputFormat в SequenceFileInputFormat, а затем позволить Mapper получить ключ и значения?
Спасибо