1. 使用Java API在HDFS上创建目录。 2. 使用Java API将本地文件上传HDFS指定目录。 3. 使用Java API遍历HDFS文件。
时间: 2024-10-25 14:17:49 浏览: 49
1. 在Hadoop分布式文件系统(HDFS)上使用Java API创建目录,你可以使用`org.apache.hadoop.fs.FileSystem`和`org.apache.hadoop.fs.Path`这两个核心类。首先,你需要获取到`FileSystem`实例,然后调用`mkdirs()`方法。示例代码:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path directoryPath = new Path("hdfs://your_namenode_host/path/to/directory");
fs.mkdirs(directoryPath);
```
记得替换`your_namenode_host`为你的HDFS集群的名称节点地址。
2. 将本地文件上传到HDFS指定目录也是通过`FileSystem`,使用`copyFromLocalFile()`方法。例如:
```java
Path src = new Path("/local/path/to/yourfile.txt"); // 本地文件路径
Path dst = new Path("hdfs://your_namenode_host/path/to/destination/file.txt"); // HDFS目标路径
fs.copyFromLocalFile(src, dst);
```
3. 遍历HDFS目录的内容可以使用`listStatus()`方法,返回的是`LocatedFileStatus`数组。例如:
```java
FileStatus[] statuses = fs.listStatus(directoryPath);
for (FileStatus status : statuses) {
String filePath = status.getPath().toString(); // 获得文件或目录绝对路径
System.out.println(filePath);
}
```
这会打印出目录下的所有文件和子目录信息。同样,别忘了替换`directoryPath`为你想要遍历的实际路径。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)