大数据推荐系统(7)推荐系统与Lambda架构

大数据推荐系统算法(1)大数据框架介绍
大数据推荐系统算法(2) lambda架构
大数据推荐系统算法(3) 用户画像
大数据推荐系统(4)推荐算法
大数据推荐系统(5)Mahout
大数据推荐系统(6)Spark
大数据推荐系统(7)推荐系统与Lambda架构
大数据推荐系统(8)分布式数据收集和存储
大数据推荐系统(9)实战
推荐平台基本架构
大数据推荐系统(7)推荐系统与Lambda架构_第1张图片
HDFS 日志数据
MySQL Oracle 结构化数据 JDBG数据源
MapReduce : mahout Spark:ml、mllib(从HBase中读取数据)
HBase::数据做选择, 数据需要大数据平台,能建模,能大规模数据访问。 (表结构)
服务层前有redis 内存的存储。(生成的推荐的列表)
Web Service 图形展示结果

数据加载
数据源多样性
HDFS:用户点击日志等
MySQL/Oracle:用户基本信息、用户购买记录等

数据加载
将不同的数据源中的数据导入Hbase(构建表)
Hbase中以用户为单位组织数据

实现方案
MapReduce并行导入
问题:与MySQL并发连接数过多,怎么办?(代理!AmoebaforMySQL)
多线程自己实现

HBase数据组织(用户做行,特征做列)
以用户为单位组织数据
Rowkey 为Uid

将表分成多个column family
Basic features :age ,birthday ,address,….
Click/buy behavior: ids

利用hbase 特有的特性
设置最大版本数 , 自动删除过期数据
根据uid 获取某用户所有信息
易于扩展

导入服务层(提供分布式存储,提供对外服务效率不高)
为什么不直接让Hbase提供服务
RegionServer挂掉,一段时间内不能对外服务
HBase负载过重

可选的服务层
Memcached、redis
自己进行sharding,replication等
Cassandra、couchbase
自动sharding和replication
如何调优,运维等

推荐平台基本架构改进:LA
大数据推荐系统(7)推荐系统与Lambda架构_第2张图片

你可能感兴趣的:(大数据推荐算法)