在Hadoop中,如何显示-copyFromLocal的当前过程


10

我仍然是Hadoop的新手学习者,这次我试图处理一个106GB的文件。我曾经-copyFromLocal将那个大文件复制到我的Hadoop DFS中,但是由于该文件很大,因此我不得不等待很长时间才能了解当前复制状态。

是否可以通过此命令显示当前文件的复制状态?

预先感谢你们的帮助!

Answers:


14

CopyFromLocal没有显示文件复制进度的功能。或者,您可以打开另一个shell并运行$ watch hadoop fs -ls <filenameyouarecopying>。这将每2.0秒显示一次文件及其大小。


1
如果未记录,则不存在。:-)
SunnyShah 2015年

2

还可以使用pv命令跟踪本地文件的读取进度,并将文件内容通过管道传递到hdfs dfsstdin:

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


pvIMO被低估了。完美地完成了这里的工作。
Michael Mior

1

看起来任何复制命令(copyFromLocal,copyToLocal,get,put)都没有冗长的选项。最好的选择可能是查看HDFS上目标文件的大小,以评估其进度。


1

您可以使用“ nohup&”将复制作为后台进程执行。即使从服务器注销,nohup也会使该过程执行。如有需要,您可以使用“ hadoop fs -ls”检查进程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.