通过java api实现上传文件至hdfs中
时间: 2023-04-25 19:04:22 浏览: 160
可以通过Java API实现上传文件至HDFS中,具体步骤如下:
1. 首先需要创建一个Hadoop配置对象,设置HDFS的相关参数,如下所示:
```
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:900");
```
2. 然后创建一个FileSystem对象,用于操作HDFS文件系统,如下所示:
```
FileSystem fs = FileSystem.get(conf);
```
3. 接着创建一个Path对象,表示要上传的文件在本地的路径,如下所示:
```
Path localPath = new Path("/path/to/local/file");
```
4. 再创建一个Path对象,表示要上传的文件在HDFS中的路径,如下所示:
```
Path hdfsPath = new Path("/path/to/hdfs/file");
```
5. 最后调用FileSystem的copyFromLocalFile方法,将本地文件上传至HDFS中,如下所示:
```
fs.copyFromLocalFile(localPath, hdfsPath);
```
完整代码如下所示:
```
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:900");
FileSystem fs = FileSystem.get(conf);
Path localPath = new Path("/path/to/local/file");
Path hdfsPath = new Path("/path/to/hdfs/file");
fs.copyFromLocalFile(localPath, hdfsPath);
```
注意:在使用Java API上传文件至HDFS时,需要保证Hadoop集群已经启动,并且本地文件路径和HDFS文件路径都是正确的。
阅读全文