mysql用户画像表设计_用户画像—数据指标与表结构设计
本篇博客介绍一下画像中需要开发的数据指标与开发过程中表结构的设计。
首先介绍画像开发的数据指标,画像开发过程中通用类的指标体系包括用户属性类、用户行为标签类、用户活跃时间段类、用户消费能力类、用户偏好类等
数据指标体系
用户属性指标
用户属性指标根据业务数据来源,尽可能全面地描述用户基础属性,这些基础属性值是短期内不会有改变的。如年龄、性别、手机号归属地、身份证归属地等
用户登录活跃指标
看用户近期登录时间段、登录时长、登录频次、常登陆地等指标
用户消费能力指标
看用户的消费金额、消费频次、最近消费时间。进一步结合用户登录活跃情况,可以对用户做RFM分层。
用户流失层级
根据用户的活跃度及消费情况,判断用户的流失意向。可及时对有流失趋向的用户做营销召回
用户年龄段划分
在做营销活动或站内推送时,可对不同年龄段做针对性运营
用户行为标签
记录用户在平台上每一次操作行为,及该次行为所带来的标签。后续可根据用户的行为标签计算用户的偏好标签,做推荐和营销等活动
表结构设计
【mysql用户画像表设计_用户画像—数据指标与表结构设计】对于画像数据的存储,除了用户属性这种基本上短期不会有变化的数据,其他相关数据的更新频率一般都比较高,为周更新或日更新
画像数据更新较为频繁,通常使用分区来将数据从物理上转移到离用户最近的地方。
一般对日期字段进行分区,当然事实上分区是为了优化查询性能,否则使用数据的用户也不需要关注这些字段是否分区。
例如说创建一个用户行为标签表:
CREATE TABLE userprofile(
user_id string,
tag_id string,
tag_name string,
cnt string,
act_type_id string,
tag_type_id string
)
PARTITION BY (date_id string);
分区表改变了Hive对数据的存储方式,如果没做分区,创建的这个表目录为:
hdfs://master_server/user/hive/warehouse/userprofile
创建日期分区后,Hive可以更好地反映分区结构子目录:
hdfs://master_server/user/hive/warehouse/userprofile/date_id='2018-05-01'
在userprofile表下面,每个日期分区的数据可以存储截止到当日的全量历史数据,方便使用者查找。
推荐阅读
- Mysql数据库维护
- mybatis事务和MySQL事务_MyBatis事务管理机制
- 程序员|Java进阶(mysql的事务隔离级别面试题)
- mysql获取当天,昨天,本周,本月,上周,上月的起始时间
- druid|druid mysql_SpringBoot配置druid连接池连接mysql数据库
- 百度|黏住用户,百度的难题
- 数据库|MySQL与Redis缓存的同步方案
- mysql|MySQL与Redis缓存的同步的方案
- mysql|mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)
- 第六章|第六章 6-2设备管理 用户层IO软件 缓冲 磁盘