hadoop - sistema - hdfs tutorial
hadoop copia una carpeta del sistema de archivos local a HDFS (7)
En breve
hdfs dfs -put <localsrc> <dest>
En detalle con ejemplo:
Comprobación de origen y destino antes de colocar archivos en HDFS
[cloudera@quickstart ~]$ ll files/
total 132
-rwxrwxr-x 1 cloudera cloudera 5387 Nov 14 06:33 cloudera-manager
-rwxrwxr-x 1 cloudera cloudera 9964 Nov 14 06:33 cm_api.py
-rw-rw-r-- 1 cloudera cloudera 664 Nov 14 06:33 derby.log
-rw-rw-r-- 1 cloudera cloudera 53655 Nov 14 06:33 enterprise-deployment.json
-rw-rw-r-- 1 cloudera cloudera 50515 Nov 14 06:33 express-deployment.json
[cloudera@quickstart ~]$ hdfs dfs -ls
Found 1 items
drwxr-xr-x - cloudera cloudera 0 2017-11-14 00:45 .sparkStaging
Copie archivos HDFS utilizando el comando
-put
o
-copyFromLocal
[cloudera@quickstart ~]$ hdfs dfs -put files/ files
Verificar el resultado en HDFS
[cloudera@quickstart ~]$ hdfs dfs -ls
Found 2 items
drwxr-xr-x - cloudera cloudera 0 2017-11-14 00:45 .sparkStaging
drwxr-xr-x - cloudera cloudera 0 2017-11-14 06:34 files
[cloudera@quickstart ~]$ hdfs dfs -ls files
Found 5 items
-rw-r--r-- 1 cloudera cloudera 5387 2017-11-14 06:34 files/cloudera-manager
-rw-r--r-- 1 cloudera cloudera 9964 2017-11-14 06:34 files/cm_api.py
-rw-r--r-- 1 cloudera cloudera 664 2017-11-14 06:34 files/derby.log
-rw-r--r-- 1 cloudera cloudera 53655 2017-11-14 06:34 files/enterprise-deployment.json
-rw-r--r-- 1 cloudera cloudera 50515 2017-11-14 06:34 files/express-deployment.json
Necesito copiar una carpeta del sistema de archivos local a HDFS. No pude encontrar ningún ejemplo de mover una carpeta (incluidas todas sus subcarpetas) a HDFS
$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI
Desde la línea de comando -
Hadoop fs -copyFromLocal
Hadoop fs -copyToLocal
O también usa la biblioteca spark FileSystem para obtener o colocar archivos hdfs.
Espero que esto sea útil.
Para copiar un archivo de carpeta de local a hdfs, puede usar el siguiente comando
hadoop fs -put /path/localpath /path/hdfspath
o
hadoop fs -copyFromLocal /path/localpath /path/hdfspath
Puedes usar :
1.CARGANDO DATOS DEL ARCHIVO LOCAL A HDFS
Sintaxis: $ hadoop fs –copyFromLocal
EJ: $ hadoop fs –copyFromLocal localfile1 HDIR
2. Copiando datos de HDFS a Local
Sys: $ hadoop fs –copyToLocal <nuevo nombre de archivo>
EJ: $ hadoop fs –copyToLocal hdfs / filename myunx;
Si copia una carpeta desde local, copiará la carpeta con todas sus subcarpetas a HDFS.
Para copiar una carpeta de local a hdfs, puede usar
hadoop fs -put localpath
o
hadoop fs -copyFromLocal localpath
o
hadoop fs -put localpath hdfspath
o
hadoop fs -copyFromLocal localpath hdfspath
Nota:
Si no se especificó la ruta hdfs, la copia de la carpeta se copiará en hdfs con el mismo nombre de esa carpeta.
Para copiar de hdfs a local
hadoop fs -get hdfspath localpath
Tu podrías intentar:
hadoop fs -put /path/in/linux /hdfs/path
o incluso
hadoop fs -copyFromLocal /path/in/linux /hdfs/path
Por defecto, tanto
put
como
copyFromLocal
subirían directorios de forma recursiva a HDFS.
Vaya a la carpeta o ruta "/ install / hadoop / datanode / bin" donde puede ejecutar sus comandos hadoop:
Para colocar los archivos en HDFS: Formato: hadoop fs -put "Ruta del sistema local" /filename.csv "Ruta de destino HDFS"
por ejemplo) ./ hadoop fs -put /opt/csv/load.csv / user / load
Aquí /opt/csv/load.csv es la ruta del archivo fuente de mi sistema Linux local.
/ user / load significa la ruta de destino del clúster HDFS en "hdfs: // hacluster / user / load"
Para obtener los archivos de HDFS en el sistema local: Formato: hadoop fs -get "/ HDFSsourcefilepath" "/ localpath"
por ejemplo) hadoop fs -get /user/load/a.csv / opt / csv /
Después de ejecutar el comando anterior, a.csv de HDFS se descargaría a la carpeta / opt / csv en el sistema Linux local.
Estos archivos cargados también se pueden ver a través de la interfaz de usuario web HDFS NameNode.