Dans Hadoop, comment afficher le processus actuel de -copyFromLocal


10

Je suis toujours un débutant apprenant de Hadoop, et cette fois, j'essayais de traiter un fichier de 106 Go. J'avais l'habitude -copyFromLocalde copier ce gros fichier sur mon Hadoop DFS, mais comme le fichier est gros, je dois attendre longtemps sans avoir la moindre idée de l'état de copie actuel.

Existe-t-il un moyen d'afficher l'état de copie de fichier actuel avec cette commande?

Merci d'avance pour votre aide!

Réponses:


14

CopyFromLocaln'a pas la possibilité d'afficher la progression de la copie du fichier. Vous pouvez également ouvrir un autre shell et exécuter le $ watch hadoop fs -ls <filenameyouarecopying>. Cela affichera le fichier et sa taille toutes les 2,0 secondes.


1
S'il n'est pas documenté, il n'existe pas. :-)
SunnyShah

2

Il est également possible de suivre la progression de la lecture du fichier local à l'aide de la pvcommande et de diriger le contenu du fichier vers hdfs dfsstdin:

pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt


pvest un tel outil sous-évalué OMI. Fait parfaitement le travail ici.
Michael Mior

1

Il ne semble pas y avoir d'option verbeuse à aucune des commandes de copie (copyFromLocal, copyToLocal, get, put). Votre meilleur pari est probablement de regarder la taille du fichier à sa destination sur HDFS afin de mesurer sa progression.


1

Vous pouvez utiliser "nohup &" pour exécuter la copie en arrière-plan. nohup fera exécuter le processus même après vous être déconnecté du serveur. Lorsque vous en avez besoin, vous pouvez vérifier le processus à l'aide de "hadoop fs -ls.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.