如何使用JAVA API在HDFS中移动或复制文件

hao*_*ang 3 hadoop hdfs

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

我可以使用JAVA API吗?谢谢

Ser*_*hiy 15

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);
Run Code Online (Sandbox Code Playgroud)

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

  • 要“移动”文件而不是复制文件,只需将“ deleteSource”布尔参数设置为“ true” (2认同)