上一篇
如何通过mapreduce iterable_MapReduce实现高效的数据统计?实例代码揭秘!
- 行业动态
- 2024-10-07
- 1
下面是一个简单的MapReduce Python实现,用于统计字符串中每个单词的出现次数,这个例子使用了Python标准库中的collections模块来简化计数过程。
from collections import defaultdict Mapper function def mapper(input_value): for word in input_value.split(): yield word, 1 Reducer function def reducer(mapped_values): result = defaultdict(int) for word, count in mapped_values: result[word] += count return result Main function to execute MapReduce def mapreduce(input_data): # Step 1: Map mapped_data = mapper(input_data) # Step 2: Shuffle and Reduce reduced_data = reducer(mapped_data) return reduced_data Sample input input_data = "Hello world! Hello MapReduce. This is a sample input for MapReduce." Execute MapReduce result = mapreduce(input_data) Print the result for word, count in result.items(): print(f"{word}: {count}")
这段代码定义了两个函数mapper和reducer,以及一个主函数mapreduce来执行MapReduce过程。
1、mapper函数接收一个输入值,将其分割成单词,并生成一个(word, 1)对,表示一个单词的出现。
2、reducer函数接收来自mapper的输出,通过累积每个单词的出现次数来生成最终的统计结果。
3、mapreduce函数首先调用mapper,然后对结果调用reducer,并返回最终的统计结果。
我们用一个示例输入字符串来调用mapreduce函数,并打印出每个单词及其出现次数。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/5201.html
下一篇