HDFS API的简单使用(2)

package cn.framelife.hadoop;

import java.io.IOException;
import java.io.InputStream;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

/**
 * 使用FileSystem API读取数据
 * @author 潘广伟
 *
 */
public class FileSystemCat {
	public static Configuration getConf(){
		Configuration configuration = new Configuration();
		configuration.addResource(new Path("core-site.xml"));
		configuration.addResource(new Path("hdfs-site.xml"));
		return configuration;
	}

	public static void main(String[] args) {
		InputStream in = null;
		String url = "hdfs://namenode:9000/user/hadoop/hello1.txt";
		try {
			FileSystem fs = FileSystem.get(getConf());
			in = fs.open(new Path(url));

			IOUtils.copyBytes(in, System.out, in.available(), false);
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			IOUtils.closeStream(in);
		}
	}

}
package cn.framelife.hadoop;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

/**
 * 使用Hadoop URL读取数据
 * @author 潘广伟
 *
 */
public class URLCat {
	static{
		URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
	}

	public static void main(String[] args) {
		InputStream in = null;
		String url = "hdfs://namenode:9000/user/hadoop/hello1.txt";
		try {
			in = new URL(url).openStream();

			byte[] b = new byte[in.available()];
			in.read(b, 0, in.available());
			String msg = new String(b);

			System.out.println("接收到的信息:"+msg);

			//下面是通过IOUtils工具把输入流中的数据使用系统输出
//			IOUtils.copyBytes(in, System.out, 4096, false);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			IOUtils.closeStream(in);
		}

	}

}
时间: 2024-12-23 00:20:15

HDFS API的简单使用(2)的相关文章

HDFS API的简单使用(1)

package cn.framelife.hadoop; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; /** * 上传本地文件到HDFS * @author 潘广伟 *

hadoop: hdfs API示例

利用hdfs的api,可以实现向hdfs的文件.目录读写,利用这一套API可以设计一个简易的山寨版云盘,见下图: 为了方便操作,将常用的文件读写操作封装了一个工具类: 1 import org.apache.hadoop.conf.Configuration; 2 import org.apache.hadoop.fs.*; 3 import org.apache.hadoop.io.IOUtils; 4 5 import java.io.ByteArrayOutputStream; 6 imp

hdfs-Android通过HDFS API 上传和读取文件

问题描述 Android通过HDFS API 上传和读取文件 Android通过HDFS API 上传和读取文件需要什么jar包引入,然后要添加什么配置文件到项目,配在哪里,然后怎么连接上,如果可以给出核心的连接代码给我参考下,有劳大家了!! 解决方案 http://www.oschina.net/code/snippet_991164_37901 解决方案二: 解决方案三: 上传本地文件到HDFS上传文件到HDFShdfs 简单的api 读写文件 解决方案四: http://blog.csdn

Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址

Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端通信技术,无奈一直心不在此,但是真当自己要使用的时候还是比较迷茫,所以最近也有意向来学习这一块,同时,把自己的学习经历分享出来 一.摘要 Android智能硬件前几年野一直不温不火的,到了现在却热火朝天了,各种智能手环,智能手表,智能家居等,而使用BLE这个方向也越来越多,而这方面的资料却是真的很少

ASP.NET中Web API的简单实例_实用技巧

一.Web API的路由 1.在Visual Studio中新建MVC4项目,在App_Start目录下有一个WebApiConfig.cs文件,这个文件中就是相应的Web API的路由配置了. 2.Web API 框架默认是基于 Restful 架构模式的,与ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get.Post.Put.Delete)来在Controller 中查找 Action,规则是:Action 名中是否以Get.Post 开头?Acti

Google (Local) Search API的简单使用介绍_javascript技巧

花了两天的时间来用Google的API来做这么一个小东西,其实真正的实现代码不是很多,十几行而已.费时间的工作是了解各个API的功能以及调试JavaScript. 下面简单介绍一下这次我用到的几个函数吧. •构造函数google.search.LocalSearch() 这其实是创建了一个LocalSearch的Service,这个Service和其他Service(News, Blog, Web)一样,是供SearchControl使用的.这些Service决定了SearchControl的能

详解如何利用iOS API编写简单微博客户端

要编写社交网络客户端程序,可以大体上分为4个主要的步骤 下面我们按照这个流程,介绍一下: 1.引入Accounts和Social框架 工程中需要引入Accounts和Social框架,Accounts框架中有进行用户账户认证所需类,Social框架中SLRequest类是我们所需要的.添加具体步骤是选择工程中的TARGETS→WeiBo→Build Phases→Link Binary With Libraries,选择右下角的"+"按钮,打开框架和库选择对话框. 分别选择Social

Rest API的简单应用

写在前面 最近一直在搞通过Rest api的方式读取sharepoint文档库中的内容.有些地方需要注意,在此做下记录. 步骤 启动sharepoint服务器的服务 这里可以使用脚本的方式进行启动,脚本如下: 获得管理账户,比如你的账户为sp\administrator $account = Get-SPManagedAccount "sp\administrator" $subscriptionSettingsServices = Get-SPServiceInstance | wh

HDFS API操作实践

1.上传本地文件到HDFS 通过FileSystem.copyFromLocalFile(Path src, Path dst)可将本地文件上传到HDFS指定的位置上,其中src和dst均为文件的完整路径 在<hadoop实战--搭建开发环境及编写Hello World>一文中的myHelloWorld项目下新建一个文件CopyFile.java,添加代码: import java.util.*; import java.io.IOException; import java.util.Str