HDFS Centralized Cache对MapReduce的影响

YARN源码解析(5)-MapReduce中,在数据本地节点分配Task是如何做到的?中,我们介绍了MapReduce如何在block所在的Host上分配Mapper的。

而了解了HDFS Centrailzed Cache以后,我们就有一个疑问了,Mapper的分配,会考虑HDFS Centrailized Cache么?

很遗憾,并没有。具体的Mapper分配流程请看上面提到的那篇文章。

那HDFS Centralized Cache怎么会提升性能呢?

这是因为,在Task运行的时候,会通过DFSClient来读取数据,而DFSClient中会检查,当前Task所在的主机是否存在这个block的Cache,如果有的话,直接从Cache读。

代码很简单,顺着Mapper的InputFormat往下看就找到了。时间关系,这里不在介绍。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容