通过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编程

原文地址:https://www.cnblogs.com/gaopeng527/p/4992579.html