Hadoop: comment accéder aux (nombreuses) photos les images seront traitées par map/reduce?

J'ai 10M+ photos enregistrées sur le système de fichiers local. Maintenant, je veux aller à travers chacun d'eux pour analyser les binaires de la photo pour voir si c'est un chien. En gros, je veux faire l'analyse sur un cluster hadoop de l'environnement. Le problème est, comment la conception de l'entrée pour la méthode map? disons que, dans le plan de la méthode,
new FaceDetection(photoInputStream).isDog() est toute la logique sous-jacente à l'analyse.

Plus précisément,
Devrais-je télécharger toutes les photos de HDFS? Supposons oui,

  1. comment puis-je les utiliser dans le map méthode?

  2. Est-il ok pour faire de l'entrée(à l' map) comme un fichier texte contenant toutes les photos en chemin(en HDFS) à chaque ligne, et dans le plan de la méthode, la charge de la binaire comme: photoInputStream = getImageFromHDFS(photopath); (en Fait, qu'est-ce que la bonne méthode pour charger fichier HDFS lors de l'exécution de la méthode map?)

Il semble que je manque quelques connaissances sur le principe de base pour hadoop, map/reduce et hdfs, mais pouvez-vous svp m'indiquer dans les conditions de la question ci-dessus, Merci!

Avez-vous été en mesure de réaliser cela? En fait, je suis en train de faire quelque chose de similaire mais je n'ai pas beaucoup d'idée sur la manière de procéder

OriginalL'auteur leslie | 2012-01-06