MapReduce 期间的磁盘溢出

Disk Spill during MapReduce

我有一个非常基本的问题,我正在尝试寻找答案。我正在查看文档以了解在地图阶段、洗牌阶段和减少阶段数据溢出到哪里?就像 Mapper A 有 16 GB 的 RAM,但是如果为映射器分配的内存已经超过,那么数据就会溢出。

数据是溢出到HDFS还是会溢出到磁盘上的tmp文件夹? 在 shuffle 阶段,数据是从一个节点流到另一个节点,并存储在 HDFS 或临时存储位置。

我问这些问题的原因是想弄清楚工作完成后是否需要清理过程。请帮忙。

Mapper 的中间文件(溢出文件)存储在Mapper 所在的工作节点的本地文件系统中运行。类似地,从一个节点流向另一个节点的数据存储在工作节点的本地文件系统中,其中任务是 运行.

此本地文件系统路径由 hadoop.tmp.dir 属性 指定,默认情况下为“/tmp”。

在作业完成或失败后,本地文件系统上使用的临时位置会自动清除,您无需执行任何清理过程,它由框架自动处理。