springboot如何读取hdfs的文件
时间: 2023-11-16 15:14:21 浏览: 93
可以使用Hadoop HDFS API来读取HDFS上的文件。在Spring Boot应用中,可以通过配置Hadoop的Configuration属性来使用该API。首先需要在pom.xml文件中添加依赖:
```xml
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.x.x</version>
</dependency>
```
然后在application.properties文件中添加HDFS的配置,如下所示:
```
hadoop.fs.defaultFS=hdfs://localhost:9000
```
这里指定了HDFS的默认文件系统是本地的9000端口。接下来,在Java代码中可以使用FileSystem类的get方法获取HDFS的FileSystem实例,并使用open方法打开指定的文件进行读取,如下所示:
```java
@Autowired
private Configuration hadoopConfig;
private void readHdfsFile(String filePath) throws IOException {
FileSystem fs = FileSystem.get(hadoopConfig);
Path path = new Path(filePath);
FSDataInputStream inputStream = fs.open(path);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
inputStream.close();
fs.close();
}
```
这里使用了Spring的依赖注入注入了Hadoop的Configuration属性,并在方法中获取了HDFS的FileSystem实例,使用BufferedReader逐行读取文件内容。