创建一个MapReduce风格的字典 定义一个简单的Map函数,用于生成键值对 def map_function(key, value): # 这里以一个简单的例子,将每个单词映射到一个计数为1的字典中 return {value: 1} 定义一个Reduce函数,用于合并Map输出的结果 def reduce_function(key, values): # 将所有的值相加 return {key: sum(values)} 示例数据 data = ["apple", "banana", "apple", "orange", "banana", "banana"] 创建一个空字典,用于存储最终的结果 result = {} 执行Map操作 for item in data: # 对每个元素执行Map函数 for k, v in map_function(item, item).items(): # 如果键已存在,则添加到对应的值列表中 if k in result: result[k].append(v) # 如果键不存在,则创建一个新的值列表 else: result[k] = [v] 执行Reduce操作 for key, values in result.items(): # 对每个键执行Reduce函数 result[key] = reduce_function(key, values) 输出最终结果 print(result)
代码定义了一个简单的MapReduce过程,用于创建一个字典,Map函数将输入数据转换为键值对,Reduce函数将Map函数的结果进行合并,在这个例子中,我们将每个单词映射到一个计数为1的字典中,然后对所有相同的键进行计数求和。
输出结果将是一个字典,其中包含每个单词及其出现的次数,对于给定的数据["apple", "banana", "apple", "orange", "banana", "banana"]
,输出将是:
{'apple': 2, 'banana': 3, 'orange': 1}
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1154514.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复