Задание Hadoop, принимающее входные файлы из нескольких каталогов - PullRequest
8 голосов
/ 04 января 2011


У меня есть ситуация, когда у меня есть несколько (100+ 2-3 МБ каждый) файлов в сжатом формате gz, присутствующих в нескольких каталогах. Например
А1 / В1 / С1 / неполный 0000.gz
А2 / В2 / С2 / неполный 0000.gz
A1 / B1 / C1 / part-0001.gz

Я должен передать все эти файлы в одно задание на карту. Из того, что я вижу, для использования MultipleFileInputFormat все входные файлы должны находиться в одном каталоге. Можно ли передать несколько каталогов непосредственно в работу?
Если нет, то можно ли эффективно поместить эти файлы в один каталог без конфликта имен или объединить эти файлы в один сжатый файл gz.
Примечание: я использую обычную Java для реализации Mapper и не использую потоковую передачу Pig или hadoop.

Любая помощь по вышеуказанному вопросу будет высоко оценена.
Спасибо,
Анкит

1 Ответ

16 голосов
/ 04 января 2011

FileInputFormat.addInputPaths () может принимать разделенный запятыми список нескольких файлов, например

FileInputFormat.addInputPaths("foo/file1.gz,bar/file2.gz")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...