`
k_lb
  • 浏览: 802345 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

HADOOP JAVA接口

 
阅读更多

从Hadoop URL 中读取数据


package org.urlcat;


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

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

public class URLCat {
	static{
		URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
	}
	
	public static void main(String args[]) throws Exception{
		InputStream in = null;
		try{
			in = new URL(args[0]).openStream();
			IOUtils.copyBytes(in,System.out,4096,false);
		} finally{
			IOUtils.closeStream(in);
		}
	}
}

这里采用的方法是通过 FsUrlStreamHandlerFactory 实例调用URL 中的setURLStreamHandlerFactory 方法。由于JAVA 虚拟机只能用一次上述方法,因此 通常在静态方法中调用上述方法。这个限制意味首如果程序的其他组件--如不受你控制的第三方组件--已经声明了一个URL实例,你将无法再使用上述方法从Hadoop 中读取数据。


我们可以调用Hadoop 中简洁的IOUtils 类,并在finally子句中关闭数据流,同时也可以在输入流和输出流之间复制数据。copyBytes方法的最后两个参数,第一个用于设置复制的缓冲区大小,第二个用于设置复制结束后是否关闭数据流。


通过FfileSystem API 读取数据


package org.filesystemcat;

import java.io.InputStream;
import java.net.URI;

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

public class FileSystemCat {
	public static void main(String args[])  throws Exception{
		String uri = args[0];
		Configuration conf = new Configuration();
		FileSystem fs = FileSystem.get(URI.create(uri),conf);
		InputStream in = null;
		try{
			in = fs.open(new Path(uri));
			IOUtils.copyBytes(in, System.out, 4096,false);
		}finally{
			IOUtils.closeStream(in);
		}
	}
}


分享到:
评论

相关推荐

    hadoop Java接口 文件操作类

    基于hadoop Java接口 文件操作类,对hadoop服务进行增删改查等系列操作,非常实用

    Hadoop Java接口+RPC代码实现

    1.java接口操作Hadoop文件系统(文件上传下载删除创建...可举一反三) 2.RPC远程过程调用的java代码实现,便于理解Hadoop的RPC协议,具体使用方法可参考我的博客...

    hadoop的java_api

    凡是hadoop2.x以上版本都可以使用这个导入包,下载后直接将里面的所有文件直接导入到需要使用hadoop接口的项目里就好

    Hadoop的shell接口和java接口

    在上传文件和下载文件时一定要把路径写...在做java接口操作时,一定要将jar包导正确,最好导入Hadoop-2.9.1的解压文件jar包,Hadoop-2.7.7的会失败,否则运行会出现错误,按住“shift+ctrl+o”键可以将需要的包导进去。

    java操作Hadoop源码之HDFS Java API操作-上传文件

    java操作Hadoop源码之HDFS Java API操作-上传文件,附带所需全部jar包,欢迎下载学习。

    hadoop+hive+mapreduce的java例子

    基于hadoop的Hive数据仓库JavaAPI简单调用的实例,关于Hive的简介在此不赘述。hive提供了三种用户接口:CLI,JDBC/ODBC和 WebUI CLI,即Shell命令行 JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似 Web...

    HDFS文件系统JAVA api访问接口(基于hadoop大数据平台)

    在搭建完hadoop大数据系统(CDH5.16.1)后,如何访问hdfs文件系统上的数据呢?那当然是通过构建maven项目 使用java api接口进行文件了。为此,特别进行了hdfs文件系统java api访问的整理。

    hadoop-3.3.4 版本(最新版)

    Hadoop 架构是一个开源的、基于 Java 的编程框架,设计用于跨电脑集群来 处理大数据。Hadoop 是一个能够让用户轻松搭建和使用的分布式计算平台,能 够让用户轻松地在 Hadoop 上开发和运行处理海量数据的应用程序。 ...

    Hadoop源代码分析(IFile)

    Hadoop中的IFile接口的源代码分析

    Apache hadoop-3.1.0 版本

    Hadoop 架构是一个开源的、基于 Java 的编程框架,设计用于跨电脑集群来 处理大数据。Hadoop 是一个能够让用户轻松搭建和使用的分布式计算平台,能 够让用户轻松地在 Hadoop 上开发和运行处理海量数据的应用程序。 ...

    hadoop-yarn-api-2.5.1-API文档-中文版.zip

    标签:apache、hadoop、api、yarn、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    hive metastore java api使用

    同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.HiveMetaStoreClient; import org.apache.hadoop.hive.metastore.api.Field...

    Hadoop权威指南 第二版(中文版)

     Java接口  从Hadoop URL中读取数据  通过FileSystem API读取数据  写入数据  目录  查询文件系统  删除数据  数据流  文件读取剖析  文件写入剖析  一致模型  通过 distcp并行拷贝  保持 HDFS 集群的...

    hadoop-hdfs-client-2.9.1-API文档-中英对照版.zip

    标签:apache、hadoop、hdfs、client、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    Hadoop权威指南(中文版)2015上传.rar

    Java接口 从Hadoop URL中读取数据 通过FileSystem API读取数据 写入数据 目录 查询文件系统 删除数据 数据流 文件读取剖析 文件写入剖析 一致模型 通过 distcp并行拷贝 保持 HDFS 集群的均衡 Hadoop的归档文件 使用...

    Apress - Pro Hadoop

     MapReduce主要在org.apache.hadoop.mapred,实现提供的接口类,并完成节点通信(可以不是hadoop通信接口),就能进行MapReduce运算。  目前这个项目还在进行中,还没有到达1.0版本,和Google系统的差距也非常大...

    hadoop-hdfs-2.7.3-API文档-中英对照版.zip

    标签:apache、hdfs、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    hadoop-native-lib-x64-2.7.3.tar.gz

    hadoop 2.7.3 的本地接口库,snappy 使用的是1.1.3版本。使用时直接把包解压后放到$HADOOP_HOME/lib/native目录下即可。 [root@pseudo ~]# hadoop checknative -a 17/09/11 14:30:49 WARN bzip2.Bzip2Factory: ...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

    MapReduce编程模型3.1 MapReduce编程模型概述3.1.1 MapReduce编程接口...接口的设计与实现3.4 非Java API解析3.4.1 Hadoop Streaming的实现原理3.4.2 Hadoop Pipes的实现原理3.5 Hadoop工作流3.5.1 JobControl...

    Hadoop 2.X HDFS源码剖析

    《Hadoop 2.X HDFS源码剖析》一共有5章,其中第1章从总体上介绍了HDFS的组件、概念以及典型的流程,同时详细介绍了HDFS各个组件间RPC接口的定义。第2章介绍了Hadoop RPC框架的实现,Hadoop RPC是HDFS各个组件间通信...

Global site tag (gtag.js) - Google Analytics