2017-08-18 2 views
1

焦がすファイルをコピー中にのHadoop discpの問題(注:私は並列性を得るためにdistcpを使用する必要があります)

を私は2つの/ユーザーファイル/ bhaveshフォルダ

enter image description here

を持って、私は1を持っています/ユーザー/ bhavesh1フォルダ内のファイル

enter image description here

のコピー2つのファイルから/ユーザー/ウダイフォルダへ/ユーザー/ bhavesh(この作品の罰金)

enter image description here

enter image description here

これ/ユーザー/ bhavesh1からに/ユーザー/ウダイフォルダ

コピー1ファイルを作成/ユーザー/ uday1フォルダ場合は、代わりに、フォルダ

enter image description here

のファイルを作成します

私は1つのファイルがある場合、私は必要/user/bhavesh1/emp1.csvは、それが作成すべきです必要なもの/user/uday1/emp1.csv [uday1がディレクトリとして形成しなければならない】任意の提案やヘルプは非常に高く評価されます。

答えて

1

UNIXシステムでは、/ user/uday1 /で終わる宛先ディレクトリ名を指定して1つのファイルをコピーすると、宛先ディレクトリが作成されますが、宛先ディレクトリがないとhadoop fs -cpコマンドは失敗します。

hdfs distcpになると、/で終わるファイル/ディレクトリ名は、単一のファイルであれば無視されます。 1つの回避策は、distcpコマンドを実行する前に宛先ディレクトリを作成することです。ディレクトリがすでに存在しないというエラーを避けるために、-mkdirに-pオプションを追加することができます。

hadoop fs -mkdir -p /user/uday1 ; hadoop distcp /user/bhavesh1/emp*.csv /user/uday1/ 

これは、ソースディレクトリ内の単一ファイルと複数ファイルの両方で機能します。

+0

ありがとうございましたSachin !!! – Bhavesh

関連する問題