Hadoop权威指南:从Hadoop URL读取数据

时间:2022-05-22 06:20:01

Hadoop权威指南:从Hadoop URL读取数据

使用java.net.URL对象从Hadoop文件系统读取文件

实现类似linux中cat命令的程序

文件名

HDFSCat.java

程序代码

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL; public class HDFSCat {
public static void main(String[] args) {
InputStream in = null;
try {
in = new URL(args[0]).openStream();
IOUtils.copyBytes(in, System.out, 4096, false);
} catch (IOException e) {
e.printStackTrace();
} finally {
IOUtils.closeStream(in);
}
} static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
}

编译

javac HDFSCat

运行

hadoop HDFSCat hdfs://localhost:9000/user/hadoop/in.txt

说明

  • 需要运行在配置hadoop的linux系统上
  • 编译前,需要设置CLASSPATH 点击查看
  • 运行命令中的 hdfs://localhost:9000是在hadoop/etc/hadoop/core-site.xml文件中fs.defaultFSvalue