java中如何讀取hadoop文件

小億
103
2024-03-27 13:01:32

在Java中讀取Hadoop文件可以通過(guò)Hadoop提供的API實(shí)現(xiàn)。以下是一個(gè)簡(jiǎn)單的示例代碼,演示如何讀取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();
        }
    }
}

在上面的代碼中,首先創(chuàng)建一個(gè)Configuration對(duì)象,并獲取一個(gè)FileSystem實(shí)例。然后指定要讀取的Hadoop文件的路徑,使用open方法打開文件并獲取到一個(gè)FSDataInputStream流。然后通過(guò)循環(huán)從流中讀取數(shù)據(jù),并輸出到控制臺(tái)。最后關(guān)閉流和文件系統(tǒng)對(duì)象。

需要注意的是,在實(shí)際使用中需要替換"hdfs://:/path/to/hadoop/file"為實(shí)際的Hadoop文件路徑。

0