上一期我们稍微深入了解一下MR流程,尤其是比较重要但相对较少被提及的Shuffling过程,本期我们来看看MR的指导思想和局限性。
01
MR中的两个思想
太阳底下没有新鲜事,整个MR框架相对简单,不过有两个思想我觉得可以介绍一下,这两个思想不玄妙,但很实用,确实能解决大数据领域的不少问题。
在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴
Divide And Conquer(分治)
所谓的分治思想,就是“分开目标、各个击破”,其流程是:将整个问题划分为多个子问题->求解各子问题->合并子问题的解以形成原始问题的解,正如MR中的Splitting、Mapping和Reducing。
Data Locality(数据本地性)
即所谓的将计算移近数据,而不是将数据移近计算,“Move computation to data, instead of moving data to computation”。
数据存储在HDFS中时,它被划分为块并存储在DataNode上。当进行MR作业时,各个Mappers将处理这些块。如果Mapper不能从它执行的节点磁盘上获取数据,而需要通过网络从其他DataNode获取。