MapReduce的过程中,在不同的阶段中间数据是存储在哪里,内存还是本地磁盘还是hdfs?

hadoop的MapReduce的过程中,与spark纯内存计算不同,在不同的阶段中间数据是存储在哪里,内存还是本地磁盘还是hdfs?

map输出结果会先写到缓存中,缓存写满后会产生溢写,把中间结果归并写到本地磁盘中。

关于mapreduce和yarn关于内存分配的参数
yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
yarn.nodemanager.resource.memory-mb
yarn.nodemanager.vmem-pmem-ratio
yarn.scheduler.increment-allocation-mb
mapreduce.map.memory.mb
mapreduce.reduce.memory.mb
mapreduce.map.java.opts
mapreduce.reduce.java.opts