java购物推荐系统_hadoop实现购物商城推荐系统

这篇博客详细介绍了如何利用Java和Hadoop构建一个购物推荐系统。首先,通过sqoop将MySQL中的用户收藏商品数据导入到HDFS,然后用MapReduce实现推荐算法,最后再用sqoop将结果导回MySQL。整个过程包括数据导入、MapReduce程序的编写和执行,实现了用户商品分组、商品同现矩阵计算等功能。
摘要由CSDN通过智能技术生成

1,商城:是单商家,多买家的商城系统。数据库是mysql,语言java。

2,sqoop1.9.33:在mysql和hadoop中交换数据。

3,hadoop2.2.0:这里用于练习的是伪分布模式。

4,完毕内容:喜欢该商品的人还喜欢,同样购物喜好的好友推荐。

步骤:

1,通过sqoop从mysql中将 “用户收藏商品” (这里用的是用户收藏商品信息表作为推荐系统业务上的根据,业务根据能够非常复杂。这里主要介绍推荐系统的基本原理,所以推荐根据非常easy)的表数据导入到hdfs中。

2,用MapReduce实现推荐算法。

3,通过sqoop将推荐系统的结果写回mysql。

4,java商城通过推荐系统的数据实现两个功能。

实现:

1,

推荐系统的数据来源:

cd99109978ebf88897908805b521beb7.png

左边是用户,右边是商品。用户每收藏一个商品都会生成一条这种信息,的数据来源都是这张表。

sqoop导入数据,这里用的sqoop1.9.33。sqoop1.9.33的资料非常少,会出现一些错误,搜索不到的能够发到我的邮箱keepmovingzx@163.com。

创建链接信息

d0df8728f1463049acbce34e83e6ed5e.png

这个比較简单

创建job

0e5ac9346d66bc69be19c189cefc4fc3.png

信息填对就能够了

导入数据运行 start job --jid 上面创建成功后返回的ID

导入成功后的数据

adaa0160c4430feb73d6c39be7ecf3c5.png

03a85df67bd600addc4f337a66e540cc.png

afc92a7f0be55e7d493150e47bc51a5c.png

2,eclipse开发MapReduce程序

ShopxxProductRecommend

整个项目分两部,一,以用户对商品进行分组,二,求出商品的同现矩阵。

第1大步的数据为输入參数对商品进行分组

输出參数:

465cdfa03ad5821765f73070006cea87.png

二,以第一步的输出数据为输入求商品的同现矩阵

输出数据

34e685febc04ee4649207235c876c8ee.png

第一列数据为当前商品,第二列为与它相似的商品,第三列为相似率(越高越相似)。

整个过程就完了,以下

package xian.zhang.common;

import java.util.regex.Pattern;

public class Util {

public static final Pattern DELIMITER = Pattern.compile("[\t,]");

}

package xian.zhang.core;

import java.io.IOException;

import java.util.Iterator;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.ma

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值