Hadoopで、-copyFromLocalの現在のプロセスを表示する方法


10

私はまだHadoopの初心者で、今回は106GBのファイルを処理しようとしていました。以前-copyFromLocalはその大きなファイルを自分のHadoop DFSにコピーしていましたが、ファイルが大きいため、現在のコピーステータスについての手掛かりがなく、長い間待たなければなりませんでした。

このコマンドで現在のファイルコピーのステータスを表示する方法はありますか?

よろしくお願いします!

回答:


14

CopyFromLocalファイルコピーの進行状況を表示する機能はありません。または、別のシェルを開いてを実行することもできます$ watch hadoop fs -ls <filenameyouarecopying>。これにより、2.0秒ごとにファイルとそのサイズが表示されます。


1
記載されていない場合は存在しません。:-)
サニーシャー2015年

1

どのコピーコマンド(copyFromLocal、copyToLocal、get、put)にも詳細オプションがないようです。あなたの最善の策は、おそらく、進行状況を測定するために、HDFS上の宛先にあるファイルのサイズを調べることです。


1

"nohup&"を使用して、バックグラウンドプロセスとしてコピーを実行できます。nohupは、サーバーからログアウトした後でもプロセスを実行します。必要に応じて、「hadoop fs -lsを使用してプロセスを確認できます。


1

pvコマンドを使用してローカルファイルの読み取りの進行状況を追跡し、ファイルの内容をhdfs dfsstdinにパイプすることもできます。

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


pvそのような過小評価されたツールIMOです。ここでの仕事は完璧です。
Michael Mior 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.