2016-03-04 2 views
0

У меня есть задание mapreduce, которое читает текстовый файл и создает из него паркет-файл и в то же время записывает в простой текстовый файл в качестве вывода. Я использовал для этого несколько выходных форматов. Но несколько объектов формата вывода могут быть инициализированы для записи файла паркета или текстового файла за раз. Мне нужно разместить как в одиночном картографе. Любая помощь высоко ценится.Несколько выходных форматов в одной карте уменьшить

ответ

0

Не уверен, что это лучший способ, но вы можете просто инициализировать StringBuilder в setup() методе нашего картографа, добавьте все текстовые значения к нему во время выполнения метода map(), а затем записать его на диск в методе cleanup. Зависит от размера вашего текстового вывода, и если у вас достаточно памяти или нет. Таким образом, текстовый файл не обязательно должен быть выходным файлом карты, и ваш вывод карты может быть только данными Паркета.

Вы можете использовать context.getInputSplit() или что-то похожее на имена текстовых выходных файлов, чтобы каждый картограф выводил уникальное имя файла, и вы знаете, какой выход отвечает на какой вход.

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

  • Нет связанных вопросов^_^