hadoop-2.4.0 URLCat

本文详细介绍如何通过Java程序读取Hadoop上的数据,并提供了一个名为URLCat的示例程序。该程序使用了Hadoop提供的API来实现从Hadoop集群读取文件的功能,并介绍了编译和运行该程序的具体步骤。


hadoop-common-2.4.0.jar我的配置UBUNTU13.10

hadoop-2.4.0, 安装在/usr/lcoal/hadoop-2.4.0里面

我电脑名字是Tank,我的用户名是joe

首先我桌面上有一份歌词,heal the world,我先把这个歌词上传到我的localhost下面

joe@Tank:/usr/local/hadoop-2.4.0$ hadoop fs -copyFromLocal ~/Desktop/healtheworld.txt hdfs://localhost/user/joe


Hadoop: The Definitive Guide 第三章里面的例题3-1

从https://secdiary.com/hadoop/reading-data-from-hadoop-with-java/得到完整的源代码应该这样写


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);
}

}

}


之后该 如何编译URLCat.java?先使用命令

joe@Tank:/usr/local/hadoop-2.4.0$ mkdir class

在本地目录下生成一个class文件夹,之后编译这个文档,文档我放在桌面

joe@Tank:/usr/local/hadoop-2.4.0$ javac  -classpath xxx.jar -d  class ~/ Desktop/URLCat.java

关键是xxx,jar这个包不好找,不知道是哪一个。找来找去,应该是/usr/local/hadoop-2.4.0/share/hadoop/common/hadoop-common-2.4.0.jar

那么完整的命令就是

joe@Tank:/usr/local/hadoop-2.4.0$ javac -classpath ${HADOOP_HOME}/share/hadoop/common/hadoop-common-2.4.0.jar -d ${HADOOP_HOME}/class ~/Desktop/URLCat.java

这儿还需要把class这个文件夹放到CLASSPATH中。打开/hadoop-2.4.0/etc/hadoop下的hadoop-env.sh,添加

export HADOOP_CLASSPATH=/usr/local/hadoop-2.4.0/class


最后运行即可

joe@Tank:/usr/local/hadoop-2.4.0$ hadoop URLCat hdfs://localhost/user/joe/healtheworld.txt

%%%%%%%%%%%%%%%%%%%如何查看.jar的内容%%%%%%%%%%%%%%%%%%%%%

jar tvf xxx.jar


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%












































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值