MapReduce编程模型,mapreduce数据分析案例
Mapreduce是一种并行处理大数据的计算模型、框架和平台,也是一种计算引擎,可以将大量数据的计算抽象为map和reduce两个子任务,以更快地得到想要的结果。
00-1010 1.生成模拟数据2。实现映射器3。实现MapReduce。MapReduce是大规模数据集(大于1TB)并行操作的编程模型。 Map 和 Reduce 这两个概念是他们的主要思想,这两个概念是从函数式编程语言借来的,从向量编程语言借来的特性。它极大地方便了程序员在分布式系统上运行自己的程序,而无需分布式并行编程。当前的软件实现是指定一个映射函数来将一组键-值对映射到一组新的键-值对,并指定一个并发的Reduce函数来确保所有映射的键-值对共享同一个键组。
下面是手动实现MapReduce编码统计销量的例子。
打开Python3在线编程URL:
http://www.dooccn.com/python3/
目录
#!/usr/bin/python
# -*-编码: utf-8 -*-
随机导入
#模拟商品
股票=[华为Mate 40 ,苹果iPhone 13 ,苹果MacBook Pro 14 , Think Book 14p , RedmiBook Pro 14 ,飞鹤星樊菲婴幼儿奶粉,爱他美婴幼儿奶粉,李宁运动男裤,小米踏步机椭圆机,欧莱雅面膜
#销售订单
sales_list=list()
#生成100个买方订单,每个订单有三个项目。
对于范围(100):内的I
sstocks=list()
对于范围(3):中的j
s stocks . append(stocks[random . randint(0,14)])
A=买方 str(i 1) : ,。加入(库存)
打印(一份)
1、生成模拟数据
将第一步的结果作为第二步的输入。
#!/usr/bin/python
# -*-编码: utf-8 -*-
导入系统
#从控制台读取数据,并循环发送每行数据
对于sys.stdin:中的行
#拆分订单
orders=line.strip()。拆分( : )
if len(orders)==2:
#拆分订单中的商品
股票=订单[1]。拆分(,)
对于库存:
#将每种商品作为关键字和值输出
打印( %s,%s % (stock,1))
2、mapper实现
将第二步的结果作为第三步的输入。
#!/usr/bin/python
# -*-编码: utf-8 -*-
导入系统
#创建一个空字典,用于每个商品的销售数据
股票_字典=字典()
对于sys.stdin:中的行
if len(line.strip())=1:
#拆分每行商品,销售数量
stock,sales=line.split(,)
#判断当前商品是否存储在字典中。
如果有货_dict:
#如果是,就把字典里的商品和销量拿出来,加上当前销量放进去。
stock _ dict[stock]=stock _ dict[stock]int(销售)
else:
#如果没有,直接将商品和销售数据放入字典中
stock_dict[stock]=int(sales)
#遍历字典列表,获取每种商品的销售量
对于库存,销售在stock_dict.items():
打印( %st%s %(库存,销售))
这样就实现了简单的销售统计。
关于Python使用MapReduce编程模型计算销售额的这篇文章到此为止。有关Python MapReduce的更多信息,请搜索热门IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望你以后能支持热门的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。