Windows 实现 读取 HDFS 上 文件内容

来源:互联网 发布:淘宝手机店铺招牌图片 编辑:程序博客网 时间:2024/06/05 06:53

前几天一直在搞HDFS文件的下载与上传,但是在集群内部可以,在集群外部却出现了错误,照说,HDFS的保密协议应该没那么高吧,不解中。

后来才发现自己网上找的代码,却并未理解其中奥妙。

在集群内实现HDFS的读取与上传,可以通过Configure类来取得集群内部信息,从而与HDFS取得联系。

而在Windows下,则是需要才用URL的方式才可以进行操作。下面贴上成功代码一剂,给自己以回忆和教训。


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;public class URLTest {      static {          URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());      }        public static void main(String[] args) throws MalformedURLException, IOException {          InputStream in = null;          try {              in = new URL("hdfs://192.168.50.28:8020/user/root/jyl/streaminfo").openStream();              IOUtils.copyBytes(in, System.out, 4096, false);          } finally {              IOUtils.closeStream(in);          }      }   }  


原创粉丝点击