hadoop3.x HDFS java上传文件的源码分析

介绍

上传文件到 HDFS,是通过 FileSystem.copyFromLocalFile() 实现的,其底层调用如下图:

java

用上图底层代码实现上传文件:

@Test
public void copyFromLocalFile() throws Exception{
    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(new URI("hdfs://hadoop1:8020"), conf, "root");
    FSDataOutputStream out = null;
    try {
        InputStream in = new FileInputStream("d:/data.txt");
        out = fs.create(new Path("/data.txt"), false);
        IOUtils.copyBytes(in, out, conf, true);
    } catch (IOException e) {
        IOUtils.closeStream(out);
        throw e;
    }
    fs.close();
}

原文出处:/show_1IXagki0foG.html