hadoopmapreduce是否在hdfs中打开临时文件

sg3maiej  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(398)

当一个map reduce作业运行时,它必须创建大量的临时文件来存储各种mapper和reducer的结果。这些临时文件是写入hdfs的。
如果是的话,namenode的editlog可能会在短时间内变得巨大,因为它记录了每个事务,比如文件打开、关闭等。这可以通过直接写入本机文件系统而不是hdfs来避免吗?这是个坏主意吗?

bwitn5fc

bwitn5fc1#

您的意思是,每次Map程序运行时都会创建临时文件。如果是,那么您就无法避免这种情况,因为Map器的输出是写入磁盘而不是内存的。tasktracker负责为mr作业创建设置,并为mapper中间输出创建临时磁盘空间。一旦mr作业完成,tasktracker也会清理临时空间。
这是mr编程范式的瓶颈之一。
如有任何意见/反馈,将不胜感激。

dluptydi

dluptydi2#

map reduce代码的中间结果已写入本地文件系统而不是hdfs,并在作业完成后自动将其删除。
我的意思是说mapper的输出已经写入本地文件系统,可以配置特定的位置,但是默认情况下它会写入/tmp/hadoop username*location

相关问题