Map Reduce

MapReduce是Google提出的大型数据处理的结构。

 

源自CAREERCUP上一道题目:

In Amazon 100 million queries for various objects can arrive at a database . This can cause bottleneck. Design a system for this.

 

我这样思考,用MapReduce先将相同queries放在一起,这样节省request次数,然后再return给所有发出同一个query的client。

 

这里是我所用到的资料:

WIKI:

http://en.wikipedia.org/wiki/MapReduce

 

维基不知道大陆能不能上去,不能上的话可以留言给我,我将资料发给你

 

优快云的一个中文资料:

http://www.mengyan.org/blog/archives/2006/11/15/138.html

 

Google的MapReduce页面:

http://code.google.com/edu/parallel/mapreduce-tutorial.html

### `map` 和 `reduce` 的基本用法 在 Python 中,`map` 和 `reduce` 是函数式编程的重要组成部分,常用于对可迭代对象进行转换和聚合操作。 #### `map` 函数的用途与示例 `map` 函数用于将一个函数依次作用于一个可迭代对象的每一个元素,并返回一个迭代器。其语法为: ```python map(function, iterable) ``` 例如,可以使用 `map` 将列表中的每个元素平方: ```python numbers = [1, 2, 3, 4] squared = list(map(lambda x: x ** 2, numbers)) print(squared) # 输出: [1, 4, 9, 16] ``` 此方式适用于需要对序列中的每个元素执行相同操作的场景。 #### `reduce` 函数的用途与示例 `reduce` 函数并不在 Python 内置命名空间中,而是被移至 `functools` 模块中[^1]。它用于对可迭代对象中的元素进行累积计算。其语法为: ```python from functools import reduce reduce(function, iterable) ``` 例如,使用 `reduce` 对列表中的所有元素求和: ```python from functools import reduce my_list = [10, 15, 20, 25, 35] sum_result = reduce(lambda x, y: x + y, my_list) print(sum_result) # 输出: 105 ``` 该方法适用于需要逐步合并两个元素并生成单个结果的情况,如求和、乘积等。 #### 结合 `map` 与 `reduce` 的典型应用 结合 `map` 和 `reduce` 可以实现更复杂的逻辑。例如,先对每个元素进行平方处理,然后对其结果进行求和: ```python from functools import reduce numbers = [1, 2, 3, 4] squared_sum = reduce(lambda x, y: x + y, map(lambda x: x ** 2, numbers)) print(squared_sum) # 输出: 30 ``` 这种组合可用于数据预处理后立即进行聚合计算。 #### MapReduce 编程模型简介 虽然 `map` 和 `reduce` 在 Python 中是独立的函数,但在大数据处理框架(如 Hadoop 或 MongoDB)中,它们构成了 MapReduce 编程模型的基础。在 MongoDB 中,`mapReduce` 命令用于执行大规模数据聚合任务[^3]。这与 Python 中的功能不同,但思想上保持一致:`map` 负责分发和映射数据,而 `reduce` 负责归约和汇总结果。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值