MapReduce实现订单商品的统计

本文介绍如何利用MapReduce处理CSV格式的订单数据,统计每个订单中的商品数量,并提取商品ID。通过map和reduce函数实现数据转换和归并。讨论了数据的应用场景,包括作为模型训练数据、计算商品相似度、关联用户与商品、分析用户消费水平以及数据筛选等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mapreduce功能强大,可以处理大量离线数据。业务场景是要统计每个订单中数量情况,并将对应的商品id抽取出来。

数据格式为.csv文件,类型如下所示:

order_id,product_id,add_to_cart_order,reordered
1,49302,1,1
1,11109,2,1
1,10246,3,0
1,49683,4,0
1,43633,5,1
1,13176,6,0
1,47209,7,0
1,22035,8,1
36,39612,1,0
36,19660,2,1
36,49235,3,0
36,43086,4,1
36,46620,5,1
36,34497,6,1
36,48679,7,1
36,46979,8,1
38,11913,1,0
38,18159,2,0
38,4461,3,0
38,21616,4,1
38,23622,5,0
38,32433,6,0
38,28842,7,0
38,42625,8,0
38,39693,9,0

生成的结果格式

1       49302_11109_10246_49683_43633_13176_47209_22035	8
36      39612_19660_49235_43086_46620_34497_48679_46979 8
38      11913_18159_4461_21616_23622_32433_28842_42625_39693    9
数据预处理:需去除.csv文件第一行的表头
sed 1d  order_products.csv > order_produc.csv

map函数:对数据进行转换

import sys

for line in sys.stdin:
    id_list = line.strip().split(',')
    if
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值