Передача в файл двух файлов, содержащих данные в другом формате - PullRequest
0 голосов
/ 14 января 2012

У меня есть 5 файлов изображений (каждый файл размером менее 5 МБ).

ImageDir/Image1 = {ImageID1 <image in binary form>}
...
ImageDir/Image5 = {ImageID5 <image in binary form>}

Некоторые текстовые данные также связаны с изображением,

ImageData/Image1_data = {ImageID1 <text data>}
...
ImageData/Image5_data = {ImageID5 <text data>}

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

1 Ответ

0 голосов
/ 14 января 2012
  1. Самый простой подход - объединить изображение и связанные с ним данные в один файл (gz, tar и т. Д.), Используя скрипт в автоматическом режиме, и позволить мапперу обработать его.

  2. AFAIK, Hadoop OOB не поддерживает это.Итак, пользовательский InputFormat должен быть закодирован.Не рекомендуется этот подход, поскольку изображение и связанные с ним данные могут находиться на разных узлах, и во время выполнения задания будет происходить много перестановок данных.

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