用户画像系统的技术架构和整体实现

2014年6月至今工作于北京亚信智慧数据科技有限公司 BDX大数据事业部,从2014年9月开始从事项目spark相关应用开发。

这里讲解下用户画像的技术架构和整体实现,那么就从数据整理、数据平台、面向应用三个方面来讨论一个架构的实现(个人见解)。

数据整理:

1、数据指标的的梳理来源于各个系统日常积累的日志记录系统,通过sqoop导入hdfs,也可以用代码来实现,比如spark的jdbc连接传统数据库进行数据的cache。还有一种方式,可以通过将数据写入本地文件,然后通过sparksql的load或者hive的export等方式导入 HDFS。

2、通过hive编写UDF 或者hiveql 根据业务逻辑拼接ETL,使用户对应上不同的用户标签数据(这里的指标可以理解为为每个用户打上了相应的标签),生成相应的源表数据,以便于后续用户画像系统,通过不同的规则进行标签宽表的生成。

数据平台

1、数据平台应用的分布式文件系统为Hadoop的HDFS,因为Hadoop2.0以后,任何的大数据应用都可以通过 ResoureManager申请资源,注册服务。比如(sparksubmit、hive)等等。而基于内存的计算框架的出现,就并不选用hadoop 的MapReduce了。当然很多离线处理的业务,很多人还是倾向于使用Hadoop,但是hadoop的封装的函数只有map和Reduce太过单一,而不像spark一类的计算框架有更多封装的函数(可参考博客spark专栏)。可以大大提升开发效率。

2、计算的框架选用Spark以及RHadoop,这里Spark的主要用途有两种,一种是对于数据处理与上层应用所指定的规则的数据筛选过滤, (通过Scala编写spark代码提交至sparksubmit)。一种是服务于上层应用的SparkSQL(通过启动spark thriftserver与前台应用进行连接)。 RHadoop的应用主要在于对于标签数据的打分,比如利用协同过滤算法等各种推荐算法对数据进行各方面评分。

3、MongoDB内存数据的应用主要在于对于单个用户的实时的查询,也是通过对spark数据梳理后的标签宽表进行数据格式转换(json格式)导入mongodb,前台应用可通过连接mongodb进行数据转换,从而进行单个标签的展现。(当然也可将数据转换为Redis中的key value形式,导入Redis集群)

4、mysql的作用在于针对上层应用标签规则的存储,以及页面信息的展现。后台的数据宽表是与spark相关联,通过连接mysql随后 cache元数据进行filter,select,map,reduce等对元数据信息的整理,再与真实存在于Hdfs的数据进行处理。

面向应用

从刚才的数据整理、数据平台的计算,都已经将服务于上层应用的标签大宽表生成。(用户所对应的各类标签信息)。那么前台根据业务逻辑,勾选不同的标签进行求和、剔除等操作,比如本月流量大于200M用户(标签)+本月消费超过100元用户(标签)进行和的操作,通过前台代码实现sql的拼接,进行客户数目的探索。这里就是通过jdbc的方式连接spark的thriftserver,通过集群进行HDFS上的大宽表的运算求count。(这里要注意一点,很多sql聚合函数以及多表关联join 相当于hadoop的mapreduce的shuffle,很容易造成内存溢出,相关参数调整可参考本博客spark栏目中的配置信息) 这样便可以定位相应的客户数量,从而进行客户群、标签的分析,产品的策略匹配从而精准营销。

【编辑推荐】

1.数据分析师的30种死法

2.如何基于Spark进行用户画像?

3.数据分析工作常见的七种错误及规避技巧

4.如何使用队列数据分析来留住你的用户

5.如何实现基于内容和用户画像的个性化推荐

(0)

相关推荐

  • 如何从0到1搭建大数据平台

    大数据时代这个词被提出已有10年了吧,越来越多的企业已经完成了大数据平台的搭建.随着移动互联网和物联网的爆发,大数据价值在越来越多的场景中被挖掘,随着大家都在使用欧冠大数据,大数据平台的搭建门槛也越来 ...

  • 构建用户画像系统解决方案

    构建用户画像系统解决方案

  • 用户画像系统构建实践

    用户画像更多被运营和数据分析师使用,它是各类描述用户数据的变量集合.个性化推荐.广告系统.活动营销.内容推荐.兴趣偏好都是基于用户画像的应用.当我们想要选择某部分用户群体做精细化运营时,会用用户画像筛 ...

  • 直播系统搭建、直播系统开发的技术架构

    直播系统搭建通过和各行业的整合,从而成为具有无限可能性的行业,将在未来持续发展,拥有广阔前景. 原因有两点,首先移动直播的UGC生产模式比PC端的直播更明显,人人都有设备,随时随地开播,完全顺应了互联 ...

  • 【深度】研判比亚迪E平台3.0架构之一:E平台3.0系统的技术解析 最近,在研究E平台3.0,于是就...

    最近,在研究E平台3.0,于是就发现了这篇文章(发于"新能源情报网"有删减),分享给大家,一起来预判一下E平台3.0的一些可能会应用到的技术. 写在前面 2021年4月19日上海车 ...

  • 数字化和数据平台——企业数字化转型的技术架构升级

    数字化和数据平台(Digital and Data Platform,缩写为DDP),是BCG基于全球领先的数字化转型实践,总结出来的企业数字化技术架构参考模型. 企业数字化转型在信息技术应用上具有这 ...

  • 浅析IT 技术架构演变之路

    云计算的三层服务形式实际上也是资源整合层次的划分: IaaS层解决的是计算资源的整合,通过分布式计算和虚拟化技术, 将CPU.内存.I/O设备.存储和计算能力整合成一个虚拟的资源池为 整个业界提供所需 ...

  • 我苦心搭建的技术架构,终于把公司干没了……

    架构师不仅拿钱多,还受到程序员的崇拜.妹子的仰慕. 他们走路带风.出场自带BGM,吹啊吹,我的骄傲放纵.唯一的缺点,就是费头发. 架构师虽好,却不是人人都能当的,除了聪明绝顶,还要有扎实的技术功底,经 ...

  • 有了用户画像,为什么我还是读不懂用户?

    诸葛君说:用户画像这个概念已经出现了很多年,但为什么我有了用户画像还是读不懂用户啊?如果你指望通过几个标签就读懂一个人,那就呵呵了,不是用户画像没有用,而是只有在特定场景中才能发现用户的特定需求. 一 ...

  • 用户画像、用户标签和用户分群有什么区别和联系呢?

    最近总有人在后台问诸葛君,用户画像.用户标签和用户分群有什么区别和联系呢? 我们先把用户画像,用户标签,用户分群这几个名词的意思搞清楚. 用户标签 首先标签是给我们的个体用户进行属性判定的附属值,通常 ...