2013-11-14 3 views
0

Im используя карту hadoop и уменьшите программу. И мне нужно прочитать несколько файлов и выводит его на несколько файловмножественный выход файла в hadoop mapreduce streaming

Пример

Input \ one.txt 
     two.txt 
     three.txt 

Output \ 
     one_out.txt 
     two_out.txt 

мне нужно, чтобы получить некоторые вещи, как это. Как я могу это достичь.

Пожалуйста, помогите мне

Благодаря

+0

вы не можете управлять именами файлов, сгенерированных MR. Но если вы используете формат ввода файлов, каждый файл будет передан другому картографу, в конечном итоге создав отдельный выходной файл, если файл не будет достаточно большим. –

+0

@AnkurShanbhag - Хорошо. Именование не имеет значения, мне нужно иметь отдельный файл o/p для каждого файла i/p – Backtrack

ответ

1
  • Если размер файла мал, вы можете просто использовать FileInputFormat и Hadoop будет внутренне икра отдельной задачи картостроитель для каждого файла, который будет в конечном итоге сгенерировать выходной файл для соответствующего входного файла (если не задействованы редукторы).
  • Если файл огромен, вам нужно написать настраиваемый формат и указать isSplittable(false). Это гарантирует, что hasoop не разложит ваш файл через mappers и не будет генерировать несколько выходных файлов на входной файл
+0

+1 это имеет смысл для меня – Backtrack

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