提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录
时间: 2024-05-14 12:15:55 浏览: 95
从清单文件读取,批量复制文件到指定目录,如果目录不存在则创建目录.
3星 · 编辑精心推荐
好的,可以使用Hadoop的Java API来实现这个操作。首先,需要创建一个Configuration对象,设置Hadoop集群的相关信息:
```
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://<Hadoop-master-hostname>:<port>"");
```
其中,需要将`<Hadoop-master-hostname>`和`<port>`替换为实际环境中的主机名和端口号。
接着,可以使用FileSystem对象获取HDFS文件系统的实例,并创建或删除文件:
```
FileSystem hdfs = FileSystem.get(conf);
Path filePath = new Path("/path/to/your/file");
if (!hdfs.exists(filePath.getParent())) {
hdfs.mkdirs(filePath.getParent());
}
if (!hdfs.exists(filePath)) {
hdfs.createNewFile(filePath);
}
// ... do something ...
hdfs.delete(filePath, true); // delete the file
```
在上述代码中,`/path/to/your/file`需要替换为实际文件的路径。首先,判断文件所在目录是否存在,如果不存在则使用`mkdirs()`方法创建。然后,判断文件是否存在,如果不存在则使用`createNewFile()`方法创建。最后,可以在文件上执行一些操作,如读取、写入等。删除文件时,可以使用`delete()`方法,第二个参数为`true`表示递归删除。
阅读全文