Расположение вывода Hadoop, чтобы я мог прочитать его - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь переформатировать мой вывод hadoop для генерации файла csv.

В настоящее время я использую FileOutputFormat#setOutputPath(job, outputDir) для установки моего выходного каталога. Зная идентификатор редуктора, я могу прочитать файлы по пути outputDir + "/part-r-" + calculatedSuffix, где calculatedSuffix - это номер задачи редуктора с префиксом с соответствующим числом 0, так что результирующая длина равна 5. Это был шаблон для выходных файловЯ наблюдал, но эта реализация кажется слишком хакерской.

Есть ли способ, которым я могу открыть прямой inputstream для вывода hadoop для конкретной задачи редуктора, учитывая его ID?

Еще лучше,Можно ли передавать вывод редуктора прямо из задания, не читая (или не записывая) окончательный вывод редуктора из (или в) файла? Это сэкономило бы много времени. Из того, что я могу сказать, hadoop все равно должен был бы генерировать промежуточные выходные файлы для маппера, который будет использоваться редукторами

...