将目录从本地系统复制到hdfs java代码

Chi*_*rag 9 java hadoop hdfs

我尝试使用java代码将目录从本地系统复制到HDFS时遇到问题.我能够移动单个文件,但无法找到一种方法来移动整个目录与子文件夹和文件.任何人都可以帮助我吗?提前致谢.

Lor*_*dig 23

只需使用FileSystemcopyFromLocalFile方法.如果源Path是本地目录,它将被复制到HDFS目标:

...
Configuration conf = new Configuration();
conf.addResource(new Path("/home/user/hadoop/conf/core-site.xml"));
conf.addResource(new Path("/home/user/hadoop/conf/hdfs-site.xml"));

FileSystem fs = FileSystem.get(conf);
fs.copyFromLocalFile(new Path("/home/user/directory/"), 
  new Path("/user/hadoop/dir"));
...   
Run Code Online (Sandbox Code Playgroud)