Как использовать двоичный исполняемый файл, который принимает имена файлов в качестве аргументов в потоковой передаче hadoop? - PullRequest
1 голос
/ 03 марта 2011

Скажем, у меня есть двоичный исполняемый файл, который принимает имена файлов в качестве аргументов, например 'myprog file1 file2', он читает из файла file1 и записывает в файл file2. Бинарный исполняемый файл не принимает стандартный ввод и не генерирует стандартный вывод. Как я могу использовать этот двоичный исполняемый файл в качестве преобразователя или редуктора в потоковой передаче hadoop? Спасибо!

1 Ответ

1 голос
/ 03 марта 2011

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

Однако это отрицательно сказывается на использовании Hadoop для обработки ваших данных. Затраты на копирование данных на локальный диск и чтение результатов обратно в Hadoop-land могут снизить производительность.

Я бы порекомендовал внести изменения в ваш двоичный исполняемый файл, чтобы разрешить ввод / вывод через stdin и stdout.

...