通過java讀取HDFS的數據 (轉)


原文鏈接:通過java讀取HDFS的數據

通過JAVA直接讀取HDFS中的時候,一定會用到FSDataInputStream類,通過FSDataInputStream以流的形式從HDFS讀數據代碼如下:

import java.io.IOException;
import java.net.URI;

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 FileReadFromHdfs {

    public static void main(String[] args) {
        try {
        String dsf = "hdfs://hadoop1:9000/tmp/wordcount/kkk.txt";
        Configuration conf = new Configuration();
        
        FileSystem fs = FileSystem.get(URI.create(dsf),conf);
        FSDataInputStream hdfsInStream = fs.open(new Path(dsf));
        
        byte[] ioBuffer = new byte[1024];
        int readLen = hdfsInStream.read(ioBuffer);
        while(readLen!=-1)
        {
            System.out.write(ioBuffer, 0, readLen);
            readLen = hdfsInStream.read(ioBuffer);
        }
        hdfsInStream.close();
        fs.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

}

參考鏈接:

hadoop java操作hdfs

Java創建hdfs文件實例

利用HDFS、HBase的JavaAPI編程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM