要读取HDFS文件内容,可以使用Hadoop的FileSystem API来实现。以下是一个简单的Java程序示例,演示如何读取HDFS文件内容:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ReadHDFSFile {
public static void main(String[] args) {
try {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path filePath = new Path("/path/to/hdfs/file");
FSDataInputStream inputStream = fs.open(filePath);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
fs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这个示例中,首先创建了一个Hadoop配置对象,并获取了HDFS文件系统的实例。然后打开指定的HDFS文件,创建一个输入流并将其包装在BufferedReader中,逐行读取文件内容并打印到控制台。最后关闭输入流和文件系统对象。
记得将/path/to/hdfs/file
替换为你想要读取的HDFS文件的路径。确保你的Java项目中包含了Hadoop相关的JAR文件以正确编译和运行这个程序。