mapreduce的中间结果存储在哪里?

Mangoer 发布于 2015/07/05 11:10
阅读 2K+
收藏 0
在书上看到说是spill的结果放在本地磁盘中,然后combine将每个Map Task的结果合并成一个文件(并没有说在本地磁盘还是HDFS上,按照我的理解说是在本地磁盘上),但是我写程序是可以在HDFS上看到map的输出结果(这证明是在HDFS上),这到底应该在哪里呢?
加载中
0
寻梦2012
寻梦2012
map的中间结果都会spill到本地磁盘中,在map执行完后,形成最终的spill文件。所以map端这里的数据就表示map task往本地磁盘中总共写了多少字节。与map端相对应的是,reduce端在shuffle时,会不断地拉取map端的中间结果,然后做merge并不断spill到自己的本地磁盘中。最终形成一个单独文件,这个文件就是reduce的输入文件。 
寻梦2012
寻梦2012
@落水 不能
Mangoer
Mangoer
如果作业在map阶段中失败的话 能不能在hdfs上看到map的中间结果?
寻梦2012
寻梦2012
@落水 HDFS 看到的是reduce结果
Mangoer
Mangoer
你的意思是每个map task结束后形成的最终文件是放在本地磁盘上的 对吧?那为什么在hdfs的路径上可以看到?
返回顶部
顶部