【大数据技术与推荐系统(9)】推荐系统与Lambda架构

文章目录


背景介绍

  • 电子商务网站
  • 浏览记录、购买记录等
  • 推荐平台
  • 将各种数据整合在一起,以便于挖掘,推荐和广告

推荐系统基本架构

【大数据技术与推荐系统(9)】推荐系统与Lambda架构
数据加载

  • 数据源多样性
  • HDFS:用户点击日志等
  • MySQL/Oracle:用户基本信息、用户购买记录等
  • 数据加载
  • 将不同的数据源中的数据导入Hbase
  • Hbase中以用户为单位组织数据
  • 实现方案
  • MapReduce并行导入
  • 问题:与MySQL并发连接数过多,怎么办?(代理!AmoebaforMySQL)
  • 多线程自己实现

HBase数据组织

  • 以用户为单位组织数据
  • Rowkey 为Uid
  • 将表分成多个column family
  • Basic features :age ,birthday ,address,….
  • Click/buy behavior: ids
  • 利用hbase 特有的特性
  • 设置最大版本数 , 自动删除过期数据
  • 根据uid 获取某用户所有信息
  • 易于扩展

场景

  • 基于规则的推荐
  • 北京地区 , 年龄在18~25 岁的女士 , 推荐某个商品
  • 基于模型的广告推荐
  • 逻辑回归 :
  • 输入性别 , 年龄 , 点击和购买记录
  • 是否会购买商品X
  • 计算模型
  • MapReduce 或Spark

导入服务层

  • 为什么不直接让Hbase提供服务
  • RegionServer挂掉,一段时间内不能对外服务
  • HBase负载过重
  • 可选的服务层
  • Memcached、redis
  • 自己进行sharding,replication等
  • Cassandra、couchbase
  • 自动sharding和replication
  • 如何调优,运维等

推荐平台基本架构改进:LA

【大数据技术与推荐系统(9)】推荐系统与Lambda架构