最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python实现mapreduce模式的例子

来源:动视网 责编:小采 时间:2020-11-27 14:27:54
文档

python实现mapreduce模式的例子

python实现mapreduce模式的例子:MapReduce是一种从函数式编程语言借鉴过来的模式,在某些场景下,它可以极大地简化代码。先看一下什么是MapReduce:MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归纳),及他们的
推荐度:
导读python实现mapreduce模式的例子:MapReduce是一种从函数式编程语言借鉴过来的模式,在某些场景下,它可以极大地简化代码。先看一下什么是MapReduce:MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归纳),及他们的


MapReduce是一种从函数式编程语言借鉴过来的模式,在某些场景下,它可以极大地简化代码。先看一下什么是MapReduce:

MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。
当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归纳)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
简单来说,MapReduce就是把待处理的问题分解为Map和Reduce两个部分。而待处理的数据作为一个序列,每一个序列里的数据通过Map的函数进行运算,再通过Reduce的函数进行聚合成最终的结果。

下面使用mapreduce模式实现了一个简单的统计日志中单词出现次数的程序:

from functools import reduce
from multiprocessing import Pool
from collections import Counter

def read_inputs(file):
 for line in file:
 line = line.strip()
 yield line.split()

def count(file_name):
 file = open(file_name)
 lines = read_inputs(file)
 c = Counter()
 for words in lines:
 for word in words:
 c[word] += 1
 return c

def do_task():
 job_list = ['log.txt'] * 10000
 pool = Pool(8)
 return reduce(lambda x, y: x+y, pool.map(count, job_list))

if __name__ == "__main__":
 rv = do_task()

文档

python实现mapreduce模式的例子

python实现mapreduce模式的例子:MapReduce是一种从函数式编程语言借鉴过来的模式,在某些场景下,它可以极大地简化代码。先看一下什么是MapReduce:MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(归纳),及他们的
推荐度:
标签: 模式 实现 例子
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top