Java:HDFS复制目录

use*_*168 3 java hadoop hdfs

有没有一种简单的方法可以在Java中将HDFS目录复制到另一个目录?

例如,如何将 /user/abc/pudding 的内容移动到 /user/def/pudding?

我正在寻找一些相当于 UNIX cp 命令的 HDFS,我可以使用 Java 以编程方式执行该命令。

注意:我知道FileSystem,但它似乎只允许我从本地计算机复制到 HDFS?

Pau*_*l M 5

尝试FileUtil中的复制方法之一。例如:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
Run Code Online (Sandbox Code Playgroud)
Configuration conf = new Configuration();  // if necessary
FileSystem fileSystem = FileSystem.get(conf);  // if necessary

FileUtil.copy(
    fileSystem, new Path("/path/to/src"),
    fileSystem, new Path("/path/to/dst"),
    false,  // move if true
    conf
);
Run Code Online (Sandbox Code Playgroud)