mapreduce分析和总结分析和总结.docx

MapReduce MapReduce 是一种编程模型 (并不是 google 自己开发的编程工具 ),用于大规模数据集(大于 1TB)的并行运算。概念 Map (映射) 和Reduce (化简) ,和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。 他极大地方便了编程人员在不会分布式并行编程的情况下 ,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个 Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的 Reduce (化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 映射和化简 简单说来,一个映射函数就是对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表)的每一个元素进行指定的操作(比如前面的例子里,有人发现所有 学生的成绩都被高估了一分, 他可以定义一个 “减一”的映射函数,用来修正这个错误。)。事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个 新的列表来保存新的答案。这就是说, Map 操作是可以高度并行的,这对高性能要求的应用以及并行计算领域的需求非常有用。 而化简操作指的是对一个列表的元素进行适当的合并(继续看前面的例子,如果 有人想知道班级的平均分该怎么做?他可以定义一个化简函数, 通过让列表中的元素跟自己的相邻的元素相加的方式把列表减半, 如此递归运算直到列

文档评论(0)

1亿VIP精品文档

相关文档