1
回答
mapreduce的中间结果存储在哪里?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
在书上看到说是spill的结果放在本地磁盘中,然后combine将每个Map Task的结果合并成一个文件(并没有说在本地磁盘还是HDFS上,按照我的理解说是在本地磁盘上),但是我写程序是可以在HDFS上看到map的输出结果(这证明是在HDFS上),这到底应该在哪里呢?
举报
Mangoer
发帖于2年前 1回/1K+阅
共有1个答案 最后回答: 2年前
map的中间结果都会spill到本地磁盘中,在map执行完后,形成最终的spill文件。所以map端这里的数据就表示map task往本地磁盘中总共写了多少字节。与map端相对应的是,reduce端在shuffle时,会不断地拉取map端的中间结果,然后做merge并不断spill到自己的本地磁盘中。最终形成一个单独文件,这个文件就是reduce的输入文件。 
--- 共有 4 条评论 ---
寻梦2012@落水 不能 2年前 回复
Mangoer如果作业在map阶段中失败的话 能不能在hdfs上看到map的中间结果? 2年前 回复
寻梦2012@落水 HDFS 看到的是reduce结果 2年前 回复
Mangoer你的意思是每个map task结束后形成的最终文件是放在本地磁盘上的 对吧?那为什么在hdfs的路径上可以看到? 2年前 回复
顶部