2015-12-04 5 views
0

У меня есть только работа с картой и пользовательский OutputFormat, который расширяет FileOutputFormat и хочет записывать выходные файлы с тем же именем (или слегка измененными) в качестве входных данных. Поэтому мне нужно получить имя файла в моем пользовательском RecordWriter. Я знаю, что это возможно в Mapper с помощью этого кода:Hadoop, как получить имя входного файла в OutputFormat

FileSplit fileSplit = (FileSplit)context.getInputSplit(); 
String filename = fileSplit.getPath().getName(); 

Но понятия не имею, как передать имя файла из картографа в мой RecordWriter.

+0

У вас есть несколько карт для нескольких файлов и запись вывода с помощью общего ключа. Со стороны уменьшения, запись процесса с общим ключом. Решает ли ваша проблема? –

ответ

0

Вы должны использовать MultipleOutputFormat, как описано here

Вам необходимо передать нужное имя файла строку из картографа к редуктору, используя объект контекста/конфигурации.

Смежные вопросы