使用 Java API 读取 HDFS 上的文件并输出
时间: 2024-05-15 16:14:43 浏览: 131
使用Java API操作HDFS分布式文件系统
答案:可以使用 org.apache.hadoop.fs.FileSystem 类的 open() 方法来打开 HDFS 上的文件流,然后读取并输出文件内容。下面是 Java 代码示例:
```java
import java.io.IOException;
import java.io.InputStream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class ReadHdfsFile {
public static void main(String[] args) {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://localhost:9000");
FileSystem fs = null;
InputStream in = null;
try {
fs = FileSystem.get(conf);
Path file = new Path("/test/input/test.txt");
in = fs.open(file);
int bytesRead = 0;
byte[] buffer = new byte[4096];
while ((bytesRead = in.read(buffer)) > 0) {
System.out.write(buffer, 0, bytesRead);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
阅读全文