HDFS から S3 への最終結果ファイルを取得しようとしています。DistCp を使用したいのですが、それはフォルダー全体をコピーするだけのようで、フォルダー内の一部のファイルのみをコピーしたいのです。
したがって、必要なファイルを独自のフォルダーに移動し、そのフォルダーを DistCp でアップロードする必要があると考えています。そのために使用する必要があることを理解してFileSystem.rename(path1,path2)
います。
だから私はJavaからの1つのファイルのこの小さなテストを試みています:
Path itemsTable = new Path("hdfs://localhost/process-changes/itemstable-*");
itemsTable.getFileSystem(getConf()).mkdirs(new Path("hdfs://localhost/output"));
//Simple test moving just 1 file around HDFS via java API
boolean success = itemsTable.getFileSystem(getConf()).rename(new Path("hdfs://localhost/process-changes/itemtable-r-00001"), new Path("hdfs://localhost/output/itemtable-r-00001"));
しかし、rename(...) メソッドから常に false が返されます。
これはこれを行う正しい方法ですか?もしそうなら、私が間違っていることについて何か推測はありますか?