您的位置:首页 > 编程语言 > Java开发

Hadoop实验:用java直接使用FileSystem以标准输出格式显示Hadoop文件系统中的文件

2014-11-01 11:42 761 查看




《Haoop权威指南》实验3.2

1.设置Hadoop的类目录,hadoop-env.sh

[hadoop@Master conf]$ cd /usr/hadoop/conf

[hadoop@Master conf]$ vim hadoop-env.sh

增加 export HADOOP_CLASSPATH=/usr/hadoop/myclass



2.设置搜索目录:使到运行javac,jps等程序时,省去打入一长串路径

[hadoop@Master hadoop]$ cd /home/hadoop/

[hadoop@Master ~]$ ls -a |grep .bash_profile

.bash_profile

[hadoop@Master ~]$ vim .bash_profile



3.编写java

[hadoop@Master ~]$ cd /usr/hadoop/myclass

[hadoop@Master myclass]$ vim FileSystemCat.java

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


4.编译java

[hadoop@Master myclass]$ javac -classpath /usr/hadoop/hadoop-core-1.2.1.jar FileSystemCat.java

5.用java把hdfs系统里的文件内容读取出来,显示到屏幕

[hadoop@Master myclass]$ hadoop FileSystemCat hdfs://192.168.150.2:9000/user/hadoop/in/test1.txt

hello world

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: