chenyui 发表于 2019-5-18 16:50:25

MapReduce shuffle时,map端溢写的小文件是存在HDFS上的吗

从环形缓冲区溢写到本地磁盘 ,这个本地磁盘说的是HDFS吗

bioger_hit 发表于 2019-5-18 18:04:49

mapreduce是跑在hadoop的,使用的存储系统是hdfs.

源码分析可以参考这篇
https://blog.csdn.net/weixin_42028303/article/details/80102587
更详细的楼主可以自己阅读下hadoop源码。

chenyui 发表于 2019-5-19 14:38:51

bioger_hit 发表于 2019-5-18 18:04
mapreduce是跑在hadoop的,使用的存储系统是hdfs.

源码分析可以参考这篇


谢谢。
Path filename = this.mapOutputFile.getSpillFileForWrite(this.numSpills, size);//确认将数据溢出到那个文件中
out = this.rfs.create(filename);
但是还没看懂这个filename是创建在哪(HDFS还是Linux本地磁盘)

bioger_hit 发表于 2019-5-19 16:32:37

本帖最后由 bioger_hit 于 2019-5-19 16:39 编辑

chenyui 发表于 2019-5-19 14:38
谢谢。
Path filename = this.mapOutputFile.getSpillFileForWrite(this.numSpills, size);//确认将数据 ...
个人认为这个要看怎么配置了。
比如我们本地配置使用的是本地磁盘,比如file:///,那么在shuffle的时候使用就是本地磁盘
如果配置的时候使用的hdfs,那么shuffle的时候,使用就是hdfs.
当然楼主最好下载hadoop源码看看
页: [1]
查看完整版本: MapReduce shuffle时,map端溢写的小文件是存在HDFS上的吗