Stripes设计模式
(k,k1) 3
(k,k2) 3
(k,k3) 2
(k,k4) 4
(z,z1) 1
(z,z2) 3
(z,z3) 2
(z,z4) 3
Stripes
k {(k1,3),(k2,3),(k3,2),(k4,4)}
z {(z1,1),(z2,3),(z3,2),(z4,3)}
MR1 阶段
生成同一个用户购买的所有商品的列表,由mr框架根据userid为key完成分组。
MR1-M
map(userID,item){
emit(userID,item);
}
MR1-R
reduce(userID,items[I1,I2,…,In]){
emit(userID,items);
}
MR2阶段
解决列表商品的共现问题,采用stripes方法,mapper完成大部分工作
MR2-M key=userid value=userID购买的商品列表
map(userID,items[I1,I2,…,In]){
for(Item item:items){
Map
MR2-R key=商品 value=条纹列表
reduce(item,stripes[M1,M2,…,Mm]){
Map

本文介绍了Stripes设计模式的应用场景及其实现过程。通过MapReduce的两个阶段(MR1和MR2),解决了用户购买商品的共现问题。MR1阶段实现了用户购买商品的分组,而MR2阶段则采用了Stripes方法进行进一步处理。
1175

被折叠的 条评论
为什么被折叠?



