java上传文件到hdfs
时间: 2023-08-31 14:10:39 浏览: 86
上传文件到HDFS
5星 · 资源好评率100%
在Java中上传文件到HDFS需要使用Hadoop的HDFS API。下面是一个简单的示例代码:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.File;
import java.io.IOException;
public class HdfsFileUpload {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:9000"); //设置HDFS文件系统的URI
FileSystem fs = FileSystem.get(conf);
//要上传的本地文件
File srcFile = new File("/path/to/local/file");
//上传到HDFS的路径
Path dstPath = new Path("/path/to/hdfs/destination");
//调用copyFromLocalFile方法上传文件
fs.copyFromLocalFile(new Path(srcFile.getPath()), dstPath);
//关闭FileSystem对象
fs.close();
}
}
```
其中,需要配置Hadoop的HDFS文件系统URI,可以通过`fs.defaultFS`属性进行设置。在示例代码中,我们将其设置为`hdfs://localhost:9000`。
然后,使用`FileSystem.get()`方法获取FileSystem对象。
接着,指定要上传的本地文件和上传到HDFS的路径。在示例代码中,我们将本地文件路径设置为`/path/to/local/file`,将HDFS路径设置为`/path/to/hdfs/destination`。
最后,调用`fs.copyFromLocalFile()`方法,将指定的本地文件上传到HDFS。完成上传后,需要关闭FileSystem对象,释放资源。
阅读全文