2017-02-24 10 views
1

私は2日ごとにファイルを取得するディレクトリをhdfsに持っています。このディレクトリ内のすべてのファイルを別のディレクトリにコピーしたいのですが、新しいファイルが今日入ってくると、そのファイルを複製ディレクトリにコピーします。1つのHDFSディレクトリから別のHDFSディレクトリにデータを連続的にコピーする

これをHdfsでどうやって行うことができますか?

私はLinuxでrsyncを使ってこれを行うことができます。このようなHdfsのメソッドもありますか?

答えて

2

いいえ、HDFSで使用できるファイル同期方法はありません。 hdfs dfs -cpまたはhadoop distcpを手動またはスケジューラ(cron)で実行する必要があります。

ファイルの数が多い場合は、distcpが優先されます。送信元と宛先のサイズ、ブロックサイズ、またはチェックサムが異なる場合

hadoop distcp -update <src_dir> <dest_dir> 

-updateフラグを上書きします。

+0

あなたが言うように、 'distcp'' -update'はディレクトリ全体を上書きします。変更のみがあるかどうかを確認する方法はありますか?変更があった場合は、その変更のみを更新してください。 – User12345

+1

いいえ、変更を上書きします。ソースに10個のファイルがあり、宛先にすでに5個のファイルがある場合、distcpは残りの5個だけを書き込みます。この更新フラグは、すでに存在する5つのファイルにも更新があるかどうかをチェックします。存在しない場合は上書きされます。 – franklinsijo

関連する問題