2017-12-04 13 views
0

oozie fs moveオプションを使用して、あるhdfsフォルダから別のhdfsフォルダにデータをコピーします。しかし、ターゲットが存在する場合、fsコマンドは、ソースをターゲット・ディレクトリーの子として期待どおりに配置します。これを避け、ソースからターゲットにavroファイルのみをコピーする方法はありますか?Oozie hdfsの場所から別の場所にファイルをコピーする

+0

あなたは 'hadoop fs -mv'を使ってはいけませんか? 'oozie fs'は私が見たものから有効なコマンドではありません –

答えて

1

ディレクトリを上書きする必要がある場合は、-fを使用できます。例:hdfs dfs -cp -f /sourcepath /Destination path同じ方法でoozieを反映させることができます。

だけアブロファイルがアブロファイルの共通の拡張子を選ぶコピーして野生のケアを使用したい場合は、このhdfs dfs -cp -f sourcepath/*.avro /Destnation_path

のようなものoozie FSからフォルダをオーバーライドするストレートな方法はありません、あなたがすべきです最初のフォルダを削除し、そのように移動するあなたは子ディレクトリ

その詳細はoozie documentationを参照してください

<workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.1"> 
... 
<action name="[NODE-NAME]"> 
    <fs> 
     <delete path='[PATH]'/> 
     ... 
     <mkdir path='[PATH]'/> 
     ... 
     <move source='[SOURCE-PATH]' target='[TARGET-PATH]'/> 
     ... 
     <chmod path='[PATH]' permissions='[PERMISSIONS]' dir-files='false' /> 
     ... 
    </fs> 
    <ok to="[NODE-NAME]"/> 
    <error to="[NODE-NAME]"/> 
</action> 
... 

を持っていません。

ご質問がある場合は、このヘルプを参考にして、回答にコメントしてください。

+0

' hdfs dfs -cp -f sourcepath/* .avro/Destnation_path'オプションは正常に動作します。ありがとう –

関連する問題