In Hadoop, come mostrare l'attuale processo di -copyFromLocal


10

Sono ancora uno studente principiante di Hadoop e questa volta stavo cercando di elaborare un file da 106 GB. Ho usato -copyFromLocalper copiare quel grosso file sul mio Dado Hadoop, ma poiché il file è grande devo aspettare a lungo senza avere la minima idea dello stato attuale della copia.

C'è un modo per mostrare lo stato della copia del file corrente con questo comando?

Grazie in anticipo per il vostro aiuto!

Risposte:


14

CopyFromLocalnon ha la possibilità di visualizzare l'avanzamento della copia del file. In alternativa, è possibile aprire un'altra shell ed eseguire il file $ watch hadoop fs -ls <filenameyouarecopying>. Ciò visualizzerà il file e le sue dimensioni una volta ogni 2,0 secondi.


1
Se non è documentato, allora non esiste. :-)
SunnyShah

2

È anche possibile tenere traccia dell'avanzamento della lettura del file locale utilizzando il pvcomando e reindirizzare il contenuto del file su hdfs dfsstdin:

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


pvè uno strumento così sottovalutato IMO. Fa il lavoro qui perfettamente.
Michael Mior,

1

Non sembra che ci sia un'opzione dettagliata per nessuno dei comandi di copia (copyFromLocal, copyToLocal, get, put). La tua scommessa migliore è probabilmente quella di guardare la dimensione del file nella sua destinazione su HDFS al fine di valutare i suoi progressi.


1

È possibile utilizzare "nohup &" per eseguire la copia come processo in background. nohup eseguirà il processo anche dopo aver effettuato il logout dal server. Quando ne hai bisogno, puoi controllare il processo usando "hadoop fs -ls.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.