Как объединить множество файлов в один внутри Hadoop без сопоставления или сокращения - PullRequest
0 голосов
/ 09 апреля 2010

Я пытаюсь объединить несколько файлов в нескольких входных каталогах в один файл, по разным странным причинам, в которые я не буду вдаваться. Моей первоначальной попыткой было написать 'nul' маппер и редуктор, которые просто копировали ввод в вывод, но это не удалось. Моя последняя попытка:

vcm_hadoop lester jar /vcm/home/apps/hadoop/contrib/streaming/hadoop-*-streaming.jar -input / cruncher / 201004/08/17/00 -output / lcuffcat9 -mapper / bin / cat -reducer ОТСУТСТВУЕТ

но я все равно получаю несколько выходных файлов. Кто-нибудь знает, как я могу уговорить все в один выходной файл?

1 Ответ

1 голос
/ 09 апреля 2010

Держите кошачьи мапперы и используйте один кошачий редуктор. Убедитесь, что вы устанавливаете количество редукторов на один. Вывод также пройдет через сортировщик.

Вам нужно использовать редуктор, потому что вы можете указать только количество картографов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...