¿Hay una API HDFS que pueda copiar un directorio local completo al HDFS? Encontré una API para copiar archivos pero ¿hay alguna para directorios?Hadoop Copiar un directorio?
19
A
Respuesta
15
Utilice Hadoop FS shell. Específicamente:
$ hadoop fs -copyFromLocal /path/to/local hdfs:///path/to/hdfs
Si desea hacerlo mediante programación, crear dos sistemas de archivos (uno local y uno HDFS) y utilizar the FileUtil class
10
He intentado copiar desde el directorio utilizando
/hadoop/core/bin/hadoop fs -copyFromLocal /home/grad04/lopez/TPCDSkew/ /export/hadoop1/lopez/Join/TPCDSkew
Dio me error diciendo que Target es un directorio. Luego lo modifiqué a
/hadoop/core/bin/hadoop fs -copyFromLocal /home/grad04/lopez/TPCDSkew/*.* /export/hadoop1/lopez/Join/TPCDSkew
funciona.
0
Para el programador, también puede usar copyFromLocalFile. He aquí un ejemplo:
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
val hdfsConfig = new Configuration
val hdfsURI = "hdfs://127.0.0.1:9000/hdfsData"
val hdfs = FileSystem.get(new URI(hdfsURI), hdfsConfig)
val oriPath = new Path("#your_localpath/customer.csv")
val targetFile = new Path("hdfs://your_hdfspath/customer.csv")
hdfs.copyFromLocalFile(oriPath, targetFile)
2
En la versión de Hadoop:
Hadoop 2.4.0.2.1.1.0-390
(Y probablemente más adelante; sólo he probado esta versión específica, ya que es el que tengo)
Puede copiar directorios enteros de forma recursiva sin ninguna anotación especial utilizando copyFromLocal
por ejemplo ,:
hadoop fs -copyFromLocal /path/on/disk /path/on/hdfs
que funciona incluso cuando /path/on/disk
es un directorio que contiene subdirectorios y archivos.
Cuestiones relacionadas
- 1. Hacer un directorio y copiar un archivo
- 2. ¿Cómo copiar un directorio en un Makefile?
- 3. Copiar directorio usando Qt
- 4. Cómo copiar un directorio usando Ant
- 5. Copiar Directorio - Post Build Evento
- 6. "-format hadoop NameNode" devuelve un java.net.UnknownHostException hadoop
- 7. ¿Puedo copiar .git a otro directorio?
- 8. ¿Cómo puedo copiar un directorio usando Boost Filesystem
- 9. El segundo argumento para copiar() no puede ser un directorio
- 10. Shell Comando para copiar un directorio a otra ubicación
- 11. ¿Cuál es la forma de haskell para copiar un directorio?
- 12. ¿Cómo copiar mis archivos de un directorio a otro?
- 13. Cómo copiar varios archivos desde un directorio diferente usando cp?
- 14. Copiar archivos en la carpeta un directorio en python
- 15. "Copiar al directorio de salida" en VC++
- 16. Hadoop DistCp usando comodines?
- 17. ¿Cómo copiar un archivo?
- 18. Hadoop dfs -ls devuelve la lista de archivos en mi directorio/directorio
- 19. Recuperar Hadoop NameNode fracaso
- 20. VS2010 "¿Copiar al directorio de salida" no funciona?
- 21. Copiar siempre al directorio de salida no funciona
- 22. ¿Cómo puedo copiar recursivamente los contenidos del directorio usando Perl?
- 23. "Copiar local" no copia ensamblados en el directorio de salida
- 24. Copiar archivos preservando la estructura del directorio con rastrillo
- 25. QTCreator copiar archivos al directorio de salida con INSTALLS
- 26. Maven: copiar WAR en el directorio webapps de Tomcat
- 27. iOS copiar archivos del paquete principal al directorio de documentos
- 28. ¿Cómo puedo copiar solo los archivos de encabezado de todo un directorio anidado a otro directorio manteniendo la misma jerarquía después de copiar a la nueva carpeta
- 29. ¿Cómo puedo copiar un directorio de un repositorio git a otro, preservando el historial?
- 30. Diferencia entre `hadoop dfs` y` hadoop fs`
necesito hacer esto programáticamente. no desde el shell – rakeshr
ok, he agregado cómo hacerlo usando FileUtil. –
¿Puede hadoop fs soportar copia de un archivo compartido? Nunca logro hacer eso – machinarium