练习使用Hadoop Java API操作:创建文件夹、本地上传文件到HDFS、HDFS下载文件到本地、删除文件夹。
时间: 2024-10-11 22:06:30 浏览: 20
在使用Hadoop Java API操作文件系统时,首先你需要通过`Configuration`对象配置Hadoop环境。以下是每个步骤的简要说明:
1. **创建文件夹**:
使用`FileSystem`的`mkdirs()`方法可以创建目录。例如:
```java
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path dirPath = new Path("/your_directory");
fs.mkdirs(dirPath);
```
2. **本地上传文件到HDFS**:
使用`FSDataOutputStream`将本地文件写入HDFS。例如:
```java
FSDataOutputStream out = fs.create(new Path("/hdfs_path/" + fileName), true); // 第二个参数表示是否覆盖已存在的文件
Files.copy(Paths.get(localFilePath), out);
```
3. **HDFS下载文件到本地**:
可以先通过`FileSystem`的`open()`方法打开文件,然后读取数据并写入本地文件。例如:
```java
FSDataInputStream in = fs.open(new Path("/hdfs_path/" + fileName));
try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) {
String line;
while ((line = reader.readLine()) != null) {
Files.write(Paths.get(localFilePath), line.getBytes());
}
}
```
4. **删除文件夹**:
删除整个目录包括其下的所有内容,可以使用`deleteRecursively()`方法。注意该操作不可逆。
```java
fs.delete(dirPath, true); // 第二个参数表示递归删除
```
阅读全文