码迷,mamicode.com
首页 > 其他好文 > 详细

MapReduce

时间:2016-03-20 21:24:27      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

      MapReduce是一种编程模型,用于大规模数据集的并行计算,其主要思想就是Map(映射)和Reduce(化简)。MapReduce的创意和灵感来源于函数式编程,在函数式编程中,map对列表的每个元素执行操作或函数。例如:列表[1,2,3,4]上执行 multiple-by-two 函数会产生另一个列表[2,4,6,8],执行时,原列表不被改变。函数式编程认为,应当保持数据不可变,避免在多个进程或线程间共享数据。这意味着,这个函数虽然简单,但可以通过两个或更多线程在同一列表上同时执行,线程间互不影响,因为列表本身未被改变。MapReduce是用来进行海量数据的并行计算的,需要将工作分配到大量的机器上去做,如果组件间可共享数据,那么数据节点间的数据同步会使系统变得低效且不可靠。实际上,MapReduce上的数据元素是不可变的,即便改变也不会反馈到输入文件,节点间通信只在新的键值对输出时发生,Hadoop会把输出键值对传到下一个阶段。从概念上讲,MapReduce程序将输入数据列表转变成输出数据列表。一个MapReduce程序会执行两次数据转换操作,一次map,一次reduce。还是举个例子吧

MapReduce

标签:

原文地址:http://www.cnblogs.com/wenhouniba/p/5299537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!