java上传文件到hdfs
时间: 2023-08-31 13:09:53 浏览: 99
使用Java API操作HDFS分布式文件系统
Java上传文件到HDFS可以使用Hadoop API或者HDFS API。
以下是使用Hadoop 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 HDFSUploader {
public static void main(String[] args) throws IOException {
String hdfsUri = "hdfs://localhost:9000";
String localFilePath = "/path/to/local/file";
String hdfsFilePath = "/path/to/hdfs/file";
Configuration config = new Configuration();
config.set("fs.defaultFS", hdfsUri);
FileSystem hdfs = FileSystem.get(config);
Path localPath = new Path(localFilePath);
Path hdfsPath = new Path(hdfsFilePath);
hdfs.copyFromLocalFile(localPath, hdfsPath);
hdfs.close();
}
}
```
需要注意以下几点:
- 需要先配置Hadoop的`core-site.xml`和`hdfs-site.xml`文件;
- 需要将`hadoop-common`和`hadoop-hdfs`的JAR包添加到项目的classpath中;
- 需要保证上传文件的路径的正确性。
另外,使用HDFS API的方式与Hadoop API类似,只是需要先获取到`FileSystem`对象。
阅读全文