Hadoop MapReduce之上传文件到HDFS

网络上转载与一个网友的评论,这里记录一下,以备不时之需

//本地文件上传到HDFS上

public static void upload(String src,String dst) throws FileNotFoundException,IOException{  

    InputStream in = new BufferedInputStream(new FileInputStream(src));  


    //得到配置对象  
    Configuration conf = new Configuration();  
    //文件系统  
    FileSystem fs = FileSystem.get(URI.create(dst), conf);  
    //输出流  
    OutputStream out = fs.create(new Path(dst), new Progressable() {  

    public void progress() {  
        System.out.println("上传完一个设定缓存区大小容量的文件!");  
        }  

    });  

    //连接两个流,形成通道,使输入流向输出流传输数据  
    IOUtils.copyBytes(in, out, 4096,true);  
    }  


上传的时候调用这个函数就可以了
例如  
upload("/home/jack/test/test.txt","/user/hadoop/test/test");
前面的是本地目录中的文件,后面是hdfs中的文件
注意 必须两者都必须是“路径+文件名”  不能没有文件名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值