我想在相同的 HDFS 中复制文件,就像将文件从 HDFS://abc:9000/user/a.txt 复制到 HDFS://abc:9000/user/123/

我可以通过使用 JAVA API 来做到这一点吗?谢谢

最佳答案

FileUtil 提供了一种复制文件的方法。

Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://abc:9000");
FileSystem filesystem = FileSystem.get(configuration);
FileUtil.copy(filesystem, new Path("src/path"), filesystem, new Path("dst/path"), false, configuration);

如果您需要将其复制到另一个集群,只需创建一个新的 Configuration 和 setup 以及新的 FileSystem

关于hadoop - 如何使用 JAVA API 在 HDFS 中移动或复制文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38141516/

10-12 23:44