我正在寻找一种从 HDFS 复制整个目录的最佳方法,其中包含所有内容。就像是:
Path srcPath = new Path("hdfs://localhost:9000/user/britva/data");
Path dstPath = new Path("/home/britva/Work");
fs.copyToLocal(false, srcPath, dstPath);
此外,“数据”文件夹可以包含“工作”目录中不存在的文件夹。那么最好的方法是什么?
感谢您的回答!
我想其中一种解决方案是使用FileUtil对象,但不确定如何使用它,因为我只初始化了一个文件系统 - HDFS。那么问题是我应该如何初始化我的本地FS?据我了解,当您有许多节点时使用此工具。但是我想要 - 使用本地 FS - 从 HDFS 复制到项目源。
另外,因为我正在使用 Play!框架,使用它的路径会很棒,比如Play.application.path + "/public/stuff"
.
如果我尝试使用上面的代码,它会说:
java.io.IOException: No FileSystem for scheme: file