Map --映射
Reduce -- 归纳
将大数据标准化的处理
Map 拆封任务,Reduce将结果合并
这样是不是能够将很多计算机组成一台超级计算机呢?
一些问题:如果任务本身就很复杂,那么拆解任务本身就是一个很打的难题。
python 在2.6 的时候 增加了 map reduce函数
例如我们可以这样写
import urllib2
urls = [
'https://www.baidu.com',
'http://www.douban.com'
]
resurt = map(urllib2.urlopen,urls)
#等价于
resurt = []
for url in urls:
resurt.append(urllib2.urlopen(url))
当然我们也可以加上多线程的
import urllib2
from multiprocessing.dummy import Pool as ThreadPool
urls = [
'https://www.baidu.com',
'http://www.douban.com'
]
def get_html(url):
res = urllib2.urlopen(url)
html = res.read()
return html
pool = ThreadPool(4)
results = pool.map(get_html,urls)
pool.close()
pool.join()
print results