我想从Windows共享文件夹服务器上传多个文件(例如// server_name / folder /) 到我的 HDFS 使用Java
我尝试过的方法列表
org.apache.hadoop.fs.FileUtil set input path = // server_name / folder / 它说java.io.FileNotFoundException:文件// server_name / folder /不存在
FileSystem.copyFromLocalFile(我认为这是从本地hadoop服务器到hdfs服务器)
IOUtils.copyBytes与fileUtil>>相同文件不存在
一个简单的File.renameTo与fileUtil>>相同文件不存在
String source_path =" \\ server_name \ folder \ xxx.txt";
String hdfs_path =" hdfs:// HADOOP_SERVER_NAME:Port / myfile / xxx.txt&#34 ;;
文件srcFile =新文件(source_path);
文件dstFile =新文件(hdfs_path);
srcFile.renameTo(dstFile);
我是否需要创建FTP或如何使用FTPFileSystem
?
或者任何人都有更好的解决方案或示例代码
谢谢
答案 0 :(得分:1)
FileSystem具有copyFromLocal方法:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://abc:9000");
FileSystem fs= FileSystem.get(configuration);
fs.copyFromLocalFile(new Path("/source/directory/"),
new Path("/user/hadoop/dir"));