hadoop copier un dossier du système de fichiers local dans HDFS

je dois copier un dossier du système de fichiers local vers HDFS. Je pourrais trouver n'importe quel exemple de déplacer un dossier, y compris son sous-dossier tout entier, vers HDFS

:~$hadopp fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI

37
demandé sur Tariq 2015-01-29 14:05:35

6 réponses

Vous pourriez essayer:

hadoop fs -put /path/in/linux /hdfs/path

ou encore

hadoop fs -copyFromLocal /path/in/linux /hdfs/path

Par défaut, les deux put et copyFromLocal télécharge les répertoires de façon récursive vers HDFS.

64
répondu Ashrith 2015-01-29 11:15:53

si vous copiez un dossier depuis local, il copiera le dossier avec tous ses sous-dossiers vers HDFS.

pour copier un dossier du local au hdfs, vous pouvez utiliser

hadoop fs -put localpath

ou

hadoop fs -copyFromLocal localpath

ou

hadoop fs -put localpath hdfspath

ou

hadoop fs -copyFromLocal localpath hdfspath

Remarque:

si vous n'êtes pas spécifié HDFS path, alors la copie du dossier sera copiée sur hdfs avec le même nom de dossier.

copier À partir de hdfs local

 hadoop fs -get hdfspath localpath
23
répondu Kumar 2017-04-05 03:40:42

En Bref

hdfs dfs -put <localsrc> <dest>

en détail avec exemple:

vérification de la source et de la cible avant de placer des fichiers dans 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

copier les fichiers HDFS en utilisant -put ou -copyFromLocal commande

[cloudera@quickstart ~]$ hdfs dfs -put files/ files

Vérifier le résultat dans 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
5
répondu mrsrinivas 2018-08-08 13:48:49

Vous pouvez utiliser :

1.CHARGEMENT DES DONNÉES DU FICHIER LOCAL VERS HDFS

syntaxe:$hadoop fs-copyFromLocal

EX: $hadoop fs-copyFromLocal localfile1 HDIR

2. Copier des données de HDFS vers Local

Sys: $hadoop fs –copyToLocal < nouveau nom de fichier>

EX: $hadoop fs-copyToLocal hdfs/filename myunx;

3
répondu Jubrayil Jamadar 2015-12-12 19:29:55

pour copier un fichier de dossier du local au hdfs, vous pouvez la commande ci-dessous

hadoop fs -put /path/localpath  /path/hdfspath

ou

hadoop fs -copyFromLocal /path/localpath  /path/hdfspath
0
répondu Praveenkumar Sekar 2018-07-19 07:36:34

naviguez vers votre dossier ou chemin "/install/hadoop/datanode/bin" où vous pouvez exécuter vos commandes hadoop:

pour placer les fichiers dans HDFS: Format: hadoop fs -mettre "système Local"chemin/nom de fichier.csv "HDFS chemin de destination"

par exemple)./hadoop fs -mettre /opt/csv/charge.csv /utilisateur/charger

ici le/opt/csv / load.csv est le chemin du fichier source de mon système linux local.

/user/chargement signifie cluster HDFS chemin d'accès de destination en "hdfs://hacluster/utilisateur/charger"

Pour récupérer les fichiers à partir HDFS système local: Format: hadoop fs-get "/ HDFSsourcefilepath" "/ localpath"

par exemple)hadoop fs -get /utilisateur/de charge/un.csv /opt/csv/

après avoir exécuté la commande ci-dessus, A. csv from HDFS serait téléchargé dans le dossier / opt / csv du système linux local.

ces fichiers téléchargés peuvent aussi être consultés via L'interface web NameNode de HDFS.

0
répondu Prasanna 2018-08-14 08:37:21