《密集型计算环境下贝叶斯网的学习、推理及应用》:
谷歌公司最先提出了Map Reduce的概念,并以GFS为基础将其具体实现以便于有效地处理大规模的数据。然而,谷歌并没有全部公开其整套系统的内部细节实现情况,这就使得除谷歌以外的公司或研究人员,很难利用Map Reduce的技术进行相关研究和应用的开发。直到后来开源社区以Hadoopc项目的形式实现了Map Reduce功能,并以开源的方式提供给所有感兴趣的研究人员,这才使得学术界对于Map Reduce的研究取得了较大的发展。Map Reduce是一种设计优良的处理大数据的软件架构,以它为基础写出的程序能够在具有上千个节点的大型集群上顺利地运行,并同时可以并行地处理数据量巨大的数据集。
在Map Reduce架构中,一个输入的作业通常会被先切分成若干个较小的数据块,再由系统以并行的方式去处理这些数据块。MapReduce中的Map常常被翻译为映射,而Reduce则被翻译为化简。Map的输入内容通常会先被按照某种策略进行排序后,再将结果输出给Reduce部分。这样的输入和输出,通常都需要被存储在适当的文件系统中,而Map Reduce的框架结构则负责对任务进行整体的监控和调度,以及负责在发现任务失败后将其重新执行的工作。
在Map Reduce的体系中,计算节点就是Map Reduce的框架部分,而存储节点就是指相应的分布式文件系统。在实际运行时,这两者通常都是被置于同一个或同一组节点之上的。这样做的目的,是希望在已经存有数据的节点上,可以使得任务得以高效地执行,减少节点间的数据传输,降低整个集群内部网络的拥挤程度,从而提高执行效率。
……
展开