大数据项目千面电商平台实战(用户画像)

一、离线数仓 

 

 

 

二、实时数仓 

 

 

 

 

三、项目架构

 

 

 

 

三、离线用户画像标签 

 

 

 

四、 同步Hive数据到Hbase

Hive与Hbase映射表

 

hive到hbase同步数据注意问题

因为灌入到hbase中的数据一般直接应用到线上,反馈到用户那里。所以在hive数据同步hbase数据的时候,需要做一些校验机制来保障结果的准确性,防止在同步数据的过程中出现问题(比如hive中数据5000万条,同步到hbase后才1000万条)

在开发过程中,可以尝试两种解决方案:

1、hive到hbase同步数据后,现在hbase中建立一个temp临时表,然后校验hbase的这个临时表和对应hive表的数量差异,如果在可接受范围内,则将hbase的该临时表进行重命名为正式表;

2、hive到hbase同步数据后,直接将数据写入正式表,同时在hbase中建立一张状态表,用于标志状态位。当校验hbase的这张正式表和hive的数量差异在可接受范围内时,写入对应的状态表中。接口请求时,只读取状态位这张表中,最近日期的那张表(所以如果hbase的数据同步异常,不会写入状态表中,也不会影响线上数据的读取;)

 

为什么不同数据库存储的数据

Hive:跑spark作业或MapReduce作业,处理大量的数据集时使用;

MySQL:存储一些数量级较少的标签。MySQL的读写不用跑mapreduce作业,对于小量的数据读写速度很快。用于存储元数据、标签量级的监控、一些表加工结果的状态位、业务系统中读取的一些数据;

Hbase:存储线上推荐给用户的实时性较强的数据

Elasticsearch:人群计算、人群多维透视分析

标签查询—视图

 

 

Guess you like

Origin blog.csdn.net/qq_22473611/article/details/119045616