2010-09-14 6 views
6

Mi trabajo hadoop genera una gran cantidad de archivos en HDFS y quiero escribir un hilo separado que copie estos archivos de HDFS a S3.Cómo copiar archivos de HDFS a S3 de forma efectiva programáticamente

Podría alguien señalarme a cualquier API java que lo maneje.

Gracias

+0

Otro enfoque se puede utilizar en lugar de S3 HDFS con Hadoop se pueden encontrar todos los méritos y deméritos de este enfoque here Y si usted piensa que sería conveniente fijar S3 para Hadoop clúster, puede refer here user1855490

Respuesta

8

"se ha añadido soporte para el bloque de sistema de archivos S3 para el $ {} HADOOP_HOME herramienta distcp/bin/Hadoop Hadoop en 0.11.0 (Ver Hadoop-862). La herramienta distcp establece un trabajo MapReduce para ejecutar la copia. Con distcp, un grupo de muchos miembros puede copiar muchos datos rápidamente. El número de tareas de mapa se calcula contando el número de archivos en la fuente: es decir, cada tarea de mapa es responsable de copiar un archivo. y target puede referirse a tipos de sistema de archivos dispares. Por ejemplo, source puede referirse al sistema de archivos local o hdfs con S3 como el destino. "

Revise Ejecución de copias a granel dentro y fuera de S3 aquí http://wiki.apache.org/hadoop/AmazonS3

+0

La herramienta 'distcp' Funciona muy bien para copiar archivos entre hdfs y s3, hasta que alcances el límite de 5GB PUT en S3. [Hadoop 2.4 corrige esto] (https://issues.apache.org/jira/browse/HADOOP-9454) pero si tiene una versión anterior, tenga en cuenta. –

Cuestiones relacionadas