Cómo copiar archivos de HDFS al sistema de archivos local. No hay una ubicación física de un archivo debajo del archivo, ni siquiera el directorio. ¿Cómo puedo moverlos a mi local para más validaciones? Me prueban a través de winscp.
135
En Hadoop 2.0,
dónde,
hdfs_input_file_path
tal vez obtenido dehttp://<<name_node_ip>>:50070/explorer.html
output_path
es la ruta local del archivo, donde se copiará el archivo.También puede usar
get
en lugar decopyToLocal
.fuente
Para copiar archivos de HDFS al sistema de archivos local, se puede ejecutar el siguiente comando:
hadoop dfs -copyToLocal <input> <output>
<input>
: la ruta del directorio HDFS (p. ej. / mydata) que desea copiar<output>
: la ruta del directorio de destino (por ejemplo, ~ / Documentos)fuente
hadoop fs -ls
?puedes lograrlo de ambas maneras.
Ex:
Mis archivos se encuentran en /sourcedata/mydata.txt . Quiero copiar el archivo al sistema de archivos local en esta ruta / user / ravi / mydata
fuente
Si su "archivo" de origen se divide entre varios archivos (tal vez como resultado de map-reduce) que viven en el mismo árbol de directorios, puede copiarlo en un archivo local con:
fuente
Esto funcionó para mí en mi instancia VM de Ubuntu.
hdfs dfs -copyToLocal [directorio hadoop] [directorio local]
fuente
Si está utilizando Docker, debe seguir los siguientes pasos:
copie el archivo de hdfs a namenode (hadoop fs -get output / part-r-00000 / out_text). "/ out_text" se almacenará en el namenode.
copie el archivo desde namenode al disco local por (docker cp namenode: / out_text output.txt)
output.txt estará allí en su directorio de trabajo actual
fuente
fuente