Hadoop MapReduce 中每个阶段产生的中间数据存储在哪里?

Where does the middle data produced in each stage in Hadoop MapReduce get stored?

我学习hadoop mapreduce有一段时间了,大家知道,hadoop使用hdfs将数据文件存储在硬盘上,我们运行mapreduce时,progran从hdfs中获取数据,但是在每个阶段mapreduce,数据存储在哪里?我得到了一些答案

  1. hsfs
  2. 本地硬盘,其中 mapreduce 运行s on

一般map和reduce任务生成的中间数据文件都存放在本地磁盘上运行MapReduce的目录(位置)中。该目录包含:

  • map 任务生成的输出文件用作 reduce 任务的输入。
  • reduce 任务生成的临时文件。

临时数据位置由 mapreduce.cluster.local.dir 属性 控制。您可以为 map 和 reduce 任务生成的中间数据配置一个或多个位置。

在某些情况下,ExecutorNode 没有足够的 space 来存储中间数据,它也可以存储在另一个磁盘上,只要有足够的 space 可用。

这个 link 可以帮助您了解更多信息。