我知道datalocalization
只适用于映射器阶段,这意味着它将把映射器的输出保留在temp
[在本地文件系统的mapred-site.xml
中配置]文件夹中,以处理网络故障。
但是这个过程[datalocalization
]不适用于reducer phase
意味着reducer的输出没有保存在本地文件系统[LFS]中,为什么不需要将reducer输出存储到LFS?
在MapReduce
的映射器阶段,输出[part-m-xxxx]
将存储在本地文件系统中,以避免任何与网络相关的问题,这称为datalocalization
。
但是reducer输出没有存储在本地文件系统中,因为:
- 即使减速器阶段出现问题,它也会获得数据使用CCD_ 9从工作者/数据节点
- 如果减速器相位CCD_ 10成功,因此,将最终输出也存储在本地文件系统并浪费磁盘存储