1. 添加依赖
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.4</version>
</dependency>
2. 添加示例代码
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
public class HdfsDemoApp {
public static void main(String[] args) {
try {
// 配置hdfs连接地址
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://10.18.0.98:9000");
FileSystem fs = FileSystem.get(conf);
// 打开hdfs上的文件并读取输出
Path hello = new Path("/user/output/part-r-00000");
FSDataInputStream ins = fs.open(hello);
int ch = ins.read();
while (ch != -1) {
System.out.print((char)ch);
ch = ins.read();
}
System.out.println();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
从上述代码可以看出,采用hadoop-client提供的接口,读取hdfs上的文件总体流程和读取本地文件基本类似。