2010-12-06 64 views
2

Je travaille sur une application Java MapReduce qui doit être en mesure de fournir un service de téléchargement pour certaines images de la machine locale de l'utilisateur vers un compartiment S3. La chose est l'application doit fonctionner sur un cluster EC2, donc je ne suis pas sûr de savoir comment je peux me référer à la machine locale lors de la copie des fichiers. La méthode copyFromLocalFile (..) a besoin d'un chemin de la machine locale qui sera le cluster EC2 ...Hadoop télécharge des fichiers de la machine locale vers amazon s3

Je ne sais pas si j'ai correctement énoncé le problème, est-ce que quelqu'un peut comprendre ce que je veux dire?

Merci

+0

Ce qui n'est pas clair ici, c'est comment l'utilisateur (de l'ordinateur local duquel vous voulez télécharger les images) interagit avec cette application. Pouvez-vous partager plus de détails d'architecture? – bradheintz

Répondre

0

Vous aurez besoin d'obtenir les fichiers du UserMachine au moins 1 nœud avant d'être en mesure de les utiliser à travers un MapReduce.

Les fonctions FileSystem et FileUtil font référence aux chemins d'accès sur le HDFS ou au disque local de l'un des nœuds du cluster. Il ne peut pas référencer le système local de l'utilisateur. (Peut-être que si vous avez une configuration ssh ... peut-être?)

1

Vous pouvez également enquêter sur s3distcp: http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_s3distcp.html

Apache DistCp est un outil open-source que vous pouvez utiliser pour copier de grandes quantités de données. DistCp utilise MapReduce pour copier de manière distribuée: partage des tâches de copie, de traitement des erreurs, de récupération et de génération de rapports sur plusieurs serveurs. S3DistCp est une extension de DistCp optimisée pour fonctionner avec Amazon Web Services, en particulier Amazon Simple Storage Service (Amazon S3). Grâce à S3DistCp, vous pouvez copier efficacement de grandes quantités de données depuis Amazon S3 dans HDFS, où elles peuvent être traitées par votre flux de travaux Amazon Elastic MapReduce (Amazon EMR). Vous pouvez également utiliser S3DistCp pour copier des données entre des compartiments Amazon S3 ou depuis HDFS vers Amazon S3.