我知道了 datalocalization 只适用于mapper阶段,这意味着它将保持mapper的输出在 temp [在中配置] mapred-site.xml 在本地文件系统]文件夹中,以处理网络故障。但是这个过程[ datalocalization ]不适用于 reducer phase 意味着reducer的输出没有保存在本地文件系统[lfs]中,为什么不需要将reducer输出存储到lfs?
datalocalization
temp
mapred-site.xml
reducer phase
56lgkhnf1#
在的Map器阶段 MapReduce 输出 [part-m-x] 将存储在本地文件系统中,以避免任何与网络相关的问题,这称为 datalocalization .但是reducer输出不会存储在本地文件系统中,因为:即使在reducer阶段出错,它也将使用从worker/data节点获取数据 RPC .中频减速器相位 [part-r-x] 如果成功,则它是最终输出,因此将最终输出也存储在本地文件系统中并浪费磁盘存储是没有意义的。
MapReduce
[part-m-x]
RPC
[part-r-x]
1条答案
按热度按时间56lgkhnf1#
在的Map器阶段
MapReduce
输出[part-m-x]
将存储在本地文件系统中,以避免任何与网络相关的问题,这称为datalocalization
.但是reducer输出不会存储在本地文件系统中,因为:
即使在reducer阶段出错,它也将使用从worker/data节点获取数据
RPC
.中频减速器相位
[part-r-x]
如果成功,则它是最终输出,因此将最终输出也存储在本地文件系统中并浪费磁盘存储是没有意义的。