Hadoop: как получить доступ к (многим) фотоизображениям для обработки с помощью map / reduce?

У меня более 10 миллионов фотографий, сохраненных в локальной файловой системе. Теперь я хочу пройтись по каждому из них, чтобы проанализировать двоичный файл фотографии, чтобы увидеть, собака ли это. Я в основном хочу провести анализ в кластерной среде hadoop. Проблема в том, как мне спроектировать ввод для метода карты? скажем, в методе карты, новый FaceDetection (photoInputStream).isDog () - это вся основная логика анализа.

В частности, Должен ли я загружать все фотографии в HDFS ? Допустим, да,

  1. как я могу использовать их в методе map ?

  2. Можно ли вводить (в карту ) как текстовый файл, содержащий все пути к фотографии (в HDFS ) с каждой строкой и в карте метод, загрузите двоичный файл, например: photoInputStream = getImageFromHDFS (photopath); (На самом деле, какой правильный метод для загрузки файла из HDFS во время выполнения метода карты?)

Кажется, мне не хватает некоторых знаний об основном принципе для hadoop , map / reduce и hdfs , но не могли бы вы указать мне на вышесказанное? вопрос, спасибо!

13
задан leslie 6 January 2012 в 02:50
поделиться