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!

Bang Dao
la source

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.

datarockz2
la source
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

Alexander Rodin
la source
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.

Travis Campbell
la source
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.

Anan
la source