În Hadoop, cum se poate afișa procesul curent de -copyFromLocal (Administrarea sistemului, Hadoop, Hdfs)

Bang Dao a intrebat.

Sunt încă un începător în Hadoop, iar de data aceasta am încercat să procesez un fișier de 106GB. am folosit -copyFromLocal să copiez acel fișier mare în DFS-ul meu Hadoop, dar, deoarece fișierul este mare, trebuie să aștept mult timp fără să am un indiciu despre starea actuală a copierii.

Există vreo modalitate de a afișa starea curentă de copiere a fișierului cu această comandă?

Vă mulțumesc în avans pentru ajutor!

4 răspunsuri
datarockz2

CopyFromLocal nu are posibilitatea de a afișa progresul copierii fișierelor. Alternativ, ați putea deschide un alt shell și să rulați comanda $ watch hadoop fs -ls <filenameyouarecopying>. Acest lucru va afișa fișierul și dimensiunea acestuia o dată la fiecare 2,0 secunde.

Comentarii

  • Dacă nu este documentat, înseamnă că nu există. 🙂 –  > Por SunnyShah.
Alexander Rodin

De asemenea, este posibil să urmăriți progresul citirii fișierului local utilizând pv comanda și să direcționați conținutul fișierului către hdfs dfs stdin:

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

Comentarii

  • pv este un astfel de instrument subevaluat IMO. Face treaba aici perfect. –  > Por Michael Mior.
Travis Campbell

Se pare că nu există o opțiune verbose pentru niciuna dintre comenzile de copiere (copyFromLocal, copyToLocal, get, put). Cea mai bună soluție este, probabil, să vă uitați la dimensiunea fișierului la destinație pe HDFS pentru a evalua progresul.

Anan

Puteți utiliza „nohup &” pentru a executa copierea ca proces de fundal. nohup va face ca procesul să se execute chiar și după ce vă deconectați de pe server. Oricând aveți nevoie, puteți verifica procesul folosind „hadoop fs -ls .

Tags:,