Hadoop MapReduce之上传文件到HDFS

来源:互联网 发布:淘宝网ppt模板 编辑:程序博客网 时间:2024/05/22 04:27

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

//本地文件上传到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中的文件
注意 必须两者都必须是“路径+文件名”  不能没有文件名
原创粉丝点击