2010-09-14 6 views
6

Mon travail hadoop génère un grand nombre de fichiers sur HDFS et je veux écrire un fil séparé qui copiera ces fichiers de HDFS à S3.Comment copier efficacement des fichiers de HDFS vers S3

Est-ce que quelqu'un pourrait me diriger vers une API java qui le gère?

Merci

+0

Une autre approche peut être utilisée S3 au lieu de HDFS avec Hadoop, vous trouverez tous les avantages et les inconvénients de cette approche here Et si vous pensez qu'il serait approprié pour la configuration S3 pour Hadoop cluster, vous pouvez refer here user1855490

Répondre

8

« Prise en charge du système de fichiers de bloc S3 a été ajouté à la $ {HADOOP_HOME}/bin/Hadoop outil distcp dans Hadoop 0.11.0 (Voir Hadoop-862). L'outil distcp met en place un travail de MapReduce En utilisant distcp, un groupe de plusieurs membres peut copier beaucoup de données rapidement Le nombre de tâches de carte est calculé en comptant le nombre de fichiers dans la source: chaque tâche de carte est responsable de la copie d'un fichier. Par exemple, la source peut se référer au système de fichiers local ou hdfs avec S3 comme cible. "

Extrayez des copies en bloc en cours et hors de S3 ici http://wiki.apache.org/hadoop/AmazonS3

+0

L'outil 'distcp' fonctionne très bien pour copier des fichiers entre hdfs et s3, jusqu'à ce que vous atteignez la limite de 5 Go PUT sur S3. [Hadoop 2.4 corrige ce problème] (https://issues.apache.org/jira/browse/HADOOP-9454) mais si vous avez une version antérieure, soyez conscient. –

Questions connexes