网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Hadoop学习--URL方法访问HDFS数据--day04

import java.io.ByteArrayOutputStream;

创新互联从2013年成立,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元房山做网站,已为上家服务,为房山各地企业和个人服务,联系电话:13518219792

import java.io.InputStream;

import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

import org.apache.hadoop.io.IOUtils;

import org.junit.Test;

public class TestFileSystemURL {

static {

URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

}

/**

* 通过URL对象读取HDFS文件数据

* @author Administrator

* 想要从HDFS中读取数据,首先我们考虑的是从WEBUI的那种方式去取出数据

* 1.定义一个URL对象,该URL对象封装了该HDFS的URL地址信息

* 2.调用openStream()方法打开一个输入流

* 3.通过IOUtils工具类把输入流复制到字节数组输出流中,然后打印输出字节输出流的信息

*/

@Test

public void readByURL() throws Exception {

// 配置需要读取的URL地址的文件

String urlStr = "hdfs://hadoop01:9000/user/hadoop/data/hello.txt";

// 通过URL的带string的构造方法来创建URL对象

URL url = new URL(urlStr);

// 调用URL对象的openStream()方法得到一个inputstream对象

InputStream is = url.openStream();

//定义一个字符数组

// byte[] bys = new byte[1024];

// int len =0;

//有三部,读取,赋值,判断,一次读取一个字符数组,返回值是读取的字符数组的长度,如果已经到

//文件的末尾了,就返回-1

// while((len=is.read(bys))!=-1){

//输出一个字符数组,准确的说是输出字符数组的一部分,从0开始到读取的长度结束,print后面不加

//ln

// System.out.print(new String(bys,0,len));

// }

// 创建字节数组输出流对象

ByteArrayOutputStream baos = new ByteArrayOutputStream();

// hadoop提供的IOUtils方法来实现流的对拷

IOUtils.copyBytes(is, baos, 1024);

// 关闭流对象

IOUtils.closeStream(is);

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

   }

}


文章标题:Hadoop学习--URL方法访问HDFS数据--day04
网站网址:http://bjjierui.cn/article/pdigsi.html

其他资讯