在Java中讀取Hadoop文件可以通過Hadoop提供的API實現。以下是一個簡單的示例代碼,演示如何讀取Hadoop文件:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class ReadHadoopFile {
public static void main(String[] args) {
try {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path filePath = new Path("hdfs://<namenode>:<port>/path/to/hadoop/file");
FSDataInputStream inStream = fs.open(filePath);
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = inStream.read(buffer)) > 0) {
System.out.write(buffer, 0, bytesRead);
}
inStream.close();
fs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的代碼中,首先創建一個Configuration對象,并獲取一個FileSystem實例。然后指定要讀取的Hadoop文件的路徑,使用open方法打開文件并獲取到一個FSDataInputStream流。然后通過循環從流中讀取數據,并輸出到控制臺。最后關閉流和文件系統對象。
需要注意的是,在實際使用中需要替換"hdfs://