hadoop3.x HDFS java上传文件的源码分析 作者:马育民 • 2021-02-14 15:45 • 阅读:10199 # 介绍 上传文件到 HDFS,是通过 `FileSystem.copyFromLocalFile()` 实现的,其底层调用如下图: [![](https://www.malaoshi.top/upload/pic/hadoop/QQ20210214160534.png)](https://www.malaoshi.top/upload/pic/hadoop/QQ20210214160534.png) # 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(); } ``` 原文出处:http://malaoshi.top/show_1IXagki0foG.html