简体   繁体   English

Java:HDFS 复制目录

[英]Java: HDFS copy directory

Is there a simple way to copy a HDFS directory to another directory in Java?有没有一种简单的方法可以将 HDFS 目录复制到 Java 中的另一个目录?

For example, how would I move the contents of /user/abc/pudding to /user/def/pudding?例如,如何将 /user/abc/pudding 的内容移动到 /user/def/pudding?

I'm looking for some HDFS equivalent to UNIX's cp command which I can do programmatically with Java.我正在寻找一些与 UNIX 的 cp 命令等效的 HDFS,我可以使用 Java 以编程方式执行该命令。

Note: I'm aware of FileSystem but it only seems to allow me to copy from my local machine to HDFS?注意:我知道FileSystem但它似乎只允许我从本地机器复制到 HDFS?

Try one of the copy methods in FileUtil .尝试FileUtil 中的一种复制方法。 For example:例如:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
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
);

我记得 FileSystem 可以将目录从 HDFS 复制到本地文件系统

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM