用户画像平台架构图&构成?
2023-06-13 09:17:27 时间
在【rainbowzhou 面试13/101】技术提问--说说你了解的大数据应用产品?中,聊了聊用户画像是什么、如何用、前置条件以及它与大数据的关系。今天想详细聊聊关于用户画像平台的构成,希望对大家有所帮助。
前言:用户画像平台通过对用户数据的采集、计算、存储、查询和分析,挖掘有价值的信息,以帮助产品人员、运营人员进行优化。
用户画像平台架构图
在【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?中,描述了关于用户画像数据存储方面的基础设施,除此之外还有:
- MySQL--元数据管理,监控预警数据,结果集存储 导出到业务系统的数据
- Redis--非关系数据库,缓存
- Elasticsearch--查询引擎 支持海量数据的实时查询分析,用于存储用户人群计算、用户群透视分析所需的标签数据
- Airflow--实时工作流处理,调度工具
- Spark-streaming --微批处理
- Spark--批处理引擎
- ETL --抽取转换加载
- CDP产品端
如上图虚线框中为常见的数据仓库ETL加工流程,也就是将每日的业务数据、日志数据、埋点数据等经过ETL过程,加工到数据仓库对应的ODS层、Dw层、DM层中。
中间的虚线框即为用户画像建模的主要环节,用户画像不是产生数据的源头,而是对基于数据仓库ODS层、DW层、DM层中与用户相关数据的二次建模加工。在ETL过程中将用户标签计算结果写入Hive,由于不同数据库有不同的应用场景,后续需要进一步将数据同步到MySQL、 HBase、Elasticsearch等数据库中。
用户画像的构成
- 用户画像基础:需要了解、明确用户画像是什么,包含哪些模块,数据仓库架构是什么样子,开发流程,表结构设计,ETL设计等。
- 数据指标体系:根据业务线梳理,包括用户属性、用户行为、 用户消费、风险控制等维度的指标体系。
- 标签数据存储:标签相关数据可存储在Hive、 MySQL、HBase、 Elasticsearch等数据库中,不同存储方式适用于不同的应用场景。
- 标签数据开发:用户画像工程化的重点模块,包含统计类、规则类、挖掘类、流式计算类标签的开发,以及人群计算功能的开发, 打通画像数据和各业务系统之间的通路,提供接口服务等开发内容。
- 开发性能调优:标签加工、人群计算等脚本上线调度后,为了缩短调度时间、保障数据的稳定性等,需要对开发的脚本进行迭代重构、调优。
- 作业流程调度:标签加工、人群计算、同步数据到业务系统、 数据监控预警等脚本开发完成后,需要调度工具把整套流程调度起来。
- 用户画像产品化:为了能让用户数据更好地服务于业务方,需要以产品化的形态应用在业务上。产品化的模块主要包括标签视图、用户标签查询、用户分群、透视分析等。
- 用户画像应用:画像的应用场景包括用户特征分析、短信、邮件、站内信、Push消息的精准推送、客服针对用户的不同话术、针对高价值用户的极速退货退款等VIP服务应用。
以上详细描述了用户画像的构成。用户画像平台数据处理链路长,涉及的数据质量问题多。它的质量保障是一个巨大的挑战,那么我们应该如何测它呢?在之后的面试系列的文章中,我将进一步讲解数据处理链路的全流程测试的相关内容。最后恰逢中秋节与教师节,祝大家双节快乐~
参考资源:
- 用户画像:方法论与工程化解决方案
看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。