1. 程式人生 > >通過hadoopAPI訪問文件

通過hadoopAPI訪問文件

hadoop

/**

* 通過Hadoop api訪問

* @throws IOException

*/

@Test

public void readFileByAPI() throws IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

byte

[] bytes = new byte[1024];

int len = -1;

ByteArrayOutputStream baos = new ByteArrayOutputStream();

while((len = fis.read(bytes))!=-1){

baos.write(bytes, 0, len);

}

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();



}

第二種方式:

/**

* 通過hadoop api訪問

* @throws IOException

*/

@Test

public void readFileByAPI2() throws

IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

ByteArrayOutputStream baos = new ByteArrayOutputStream();

IOUtils.copyBytes(fis, baos, 1024);

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();



}


通過hadoopAPI訪問文件