web-dev-qa-db-ja.com

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

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

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

よろしくお願いします!

10
Bang Dao

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

14
datarockz2

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

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

2
Alexander Rodin

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

1
Travis Campbell

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

1
Anan