马是preduce的另一个编程原理只是一个概括? [英] Is MapReduce just a generalisation of another programming principle?
问题描述
我进入并行编程和我学习马preduce和其他分布式算法。它是最好的只是学习马preduce还是有一个,这将有助于我更好更普遍的算法?
I'm getting into parallel programming and I'm studying mapreduce and other distributed algorithms. Is it best just to learn mapreduce or is there a more general algorithm that will serve me better?
推荐答案
这要看你打算怎么使用算法(秒)。
It depends what you intend to use the algorithm(s) for.
麻preduce 是一个广义的和非常有用的编程模型。 (谷歌基地的许多它的内部索引进程就可以了)。当然学习它不会给你带来任何伤害。
MapReduce is a generalised and very useful programming model. (Google bases many of it's internal indexing processes on it). Learning it certainly won't do you any harm.
马云preduce是一个编程模型和 一个相关的实施 处理和生成大数据 集。用户指定一个映射函数 一个处理一个键/值对 生成一组中间 键/值对,以及减少功能 该合并所有的中间值 与相同的中间相关联 键。许多现实世界的任务 前pressible在此模型中,如图 纸张。
MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the paper.
最重要的并行处理概念学习很简单:同步是你所需要的最小化,如果你想获得有效的加速。
The most important parallel processing concept to learn is quite simple: synchronisation is what you need to minimise if you want to attain effective speedup.
争取:
- 在大粒度工作组块
- 在保持规模的工作组块similiar大小
- 最小化同步的步数
这篇关于马是preduce的另一个编程原理只是一个概括?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!