2011-12-14 13 views
0

私は、彼の役割の1つがHDFSの中にたくさんの非常に大きなファイルをコピーするという仕事を書いています。 FileUtil.copy()を使用すると効率的ではないことがわかりました。同じFileSystem内のファイルを効率的にコピーする方法

これを行うより効率的な方法はありますか? DistCp.javaがFileUtil.copy()より優れていると聞きましたか? DistCp.java Clouderaの実装はありますか?

答えて

2

DistCp.java Clouderaの実装はありますか?

Clouderaの実装の意味が不明です。これは標準的なHadoopインストールの一部なので、CDHの一部でなければなりません。 DistCpコマンドを直接使用することもできます。 DistCpコマンドは内部的にDistCp.javaクラスを呼び出してファイルをコピーします。

DistCp.javaについて聞いたことがFileUtil.copy()より優れていますか?

FileUtil.copy()メソッドはシーケンス内のファイルをコピーしますが、DistCpはMRジョブを生成してコピーが並行して実行されるので効率的なファイルをコピーします。詳細については、DistCpのドキュメントを参照してください。

+0

HDFS内の他の言葉で、ファイルシステム間でファイルをコピーし、別のコピー方法があります: パブリック静的ブールコピー(ファイルシステムsrcFS、 パスSRC、 FileSystemのdstFS、 パスDST、 ブールdeleteSource、 ブール上書きは、 構成conf) throws IOException 。 – zohar

+0

Thnx - 私は方法に気付かなかった。それに応じて私の答えを更新しました。 –

関連する問題