HDFS からすべてのコンテンツを含むディレクトリ全体をコピーする最良の方法を探しています。何かのようなもの:
Path srcPath = new Path("hdfs://localhost:9000/user/britva/data");
Path dstPath = new Path("/home/britva/Work");
fs.copyToLocal(false, srcPath, dstPath);
さらに、「data」フォルダーには、「Work」ディレクトリーに存在しないフォルダーを含めることができます。では、これを行う最善の方法は何ですか?
回答ありがとうございます。
解決策の 1 つはFileUtilオブジェクトを使用することだと思いますが、1 つのファイル システム (HDFS) しか初期化していないため、その使用方法がわかりません。次に問題は、ローカル FS をどのように初期化すればよいかということです。私が理解しているように、このユーティリティは多くのノードがある場合に使用されます。しかし、私が望むのは、ローカル FS を操作して、HDFS からプロジェクト ソースにコピーすることです。
また、私は Play! を使用しています。のように、そのパスを使用するのに最適Play.application.path + "/public/stuff"
です。
上記のコードを使用しようとすると、次のように表示されます。
java.io.IOException: No FileSystem for scheme: file