Windows 实现 读取 HDFS 上 文件内容

前几天一直在搞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);  
        }  
    }   
}  


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值