文章目录

  • 一、用户画像数据仓库搭建、数据抽取部分
  • 二、大数据平台、用户画像集市分层设计、处理
  • 三、离线计算部分
  • 四、实时计算部分
  • 五、Solr/ES搜索引擎部分
  • 六、Java Web毫秒级实时用户画像接口服务
  • 七、用户画像实时展示异步触发获取Web自助后台
  • 总结

用户画像是一个非常通用普遍使用的系统,从我们的架构图中可以看出,从数据计算时效性上来讲分离线计算和实时计算。离线计算一般是每天晚上全量计算所有用户,或者按需把用户数据发生变化的那批用户重新计算。离线计算主要是使用Hive SQL语句处理、Spark数据处理、或者基于机器学习算法来算用户忠诚度模型、用户价值模型、用户心理模型等。实时计算指定的通过Flume实时日志收集用户行为数据传输到Kafka消息队列,让流计算框架Flink/Storm/SparkStreaming等去实时消费处理用户数据,并触发实时计算模型,计算完成后把新增的用户画像数据更新搜索索引。个性化推荐、运营推广需要获取某个或某些用户画像数据的时候直接可以毫秒级别从搜索索引里搜索出结果,快速返回给调用方数据。这是从计算架构大概分了两条线离线处理和实时。
下面我们从上到下详细看下每个架构模块如图2.3所示:

图2.3 用户画像系统架构图

一、用户画像数据仓库搭建、数据抽取部分

(1)收集和用户画像相关的Mysql业务数据库每天增量抽取到Hadoop平台,当然第一次的时候需要全量的来做初始化,数据转化工具可以用Sqoop,它可以分布式的批量导入数据到Hadoop的Hive;
(2)和用户画像相关的Flume分布式日志收集可以从各个Web服务器实时收集比如用户行为、埋点数据等,可以指定source和sink直接把数据传输到Hadoop平台。

二、大数据平台、用户画像集市分层设计、处理

在大数据平台建设用户画像相关的数据集市,分层设计,道理和推荐、搜索相似的。

三、离线计算部分

(1)Hive SQL可以对一部分用户数据进行计算,得到一部用户画像属性,如果是特别的复杂用户属性,比如需要用到机器学习的,我们可以用下面的Spark平台来处理。
(2)Spark从Hadoop平台加载用户数据一个是进行一部分数据处理、另外用机器学习模算法来计算一些复杂的用户属性,比如用户忠诚度模型、用户价值模型、用户心理模型等,当然这些模型也不一定用机器学习,用规则实现也是可以的。
(3)不管是用Hive SQL计算,还是用Spark来处理,最终的用户模型结果多会在Hadoop的Hive仓库存一份,然后会单独写一个Spark任务把这个用户画像模型加载更新到Solr或ES搜索索引里,供线上接口实时调用获取。另外Hadoop上面存的这份Hive用户画像表的数据也会根据公司的其他部门定制需求,按需异步的执行Hive SQL然后落地到本地文件,然后分发到需求方的服务器上,或者返回落地文件访问地址,让其它部门主动wget这个文件数据。

四、实时计算部分

(1)Flume实时日志收集用户行为数据传输到Kafka消息队列,让流计算框架Flink/Storm/SparkStreaming等去实时消费处理用户数据,并触发实时计算模型,计算完成后把新增的用户画像数据更新搜索索引。实时计算是按需计算,那个用户行为有变化才会触发计算,没有变化用户行为数据不会收集到消息队列里,自然也不会触发计算。
(2)如果有需要实时计算完成后,除了更新Solr或ES索引,也可以更新到Hbase里面,然后建一个Hive到Hbase的映射表,就可以对Hbase里的实时用户画像数据做统计分析。当然也可以Hbase Shell脚本,但没有Hive SQL方便灵活。

五、Solr/ES搜索引擎部分

这是毫秒级提供实时用户画像数据的核心,不但可以根据用户ID来查询,而且能根据任意的定制查询字段来精确的筛选。另外,因为是搜索引擎,自然可以通过关键词来做一些模糊的相关度搜索。

六、Java Web毫秒级实时用户画像接口服务

(1)因为我们用的Solr/ES搜索引擎,它们是用Java开发的,所以Web接口建议也使用Java来做。
(2)这个Web接口是实时提供给需求方的,比如推荐接口获取某个用户画像的数据直接根据用户ID就能几毫秒内把对应的用户画像数据实时返回。当然也可以根据其他筛选条件或指定关键词搜索获取topN前面几个用户画像数据,注意这种方式不是把符合筛选条件的所有用户数据返回,一般是前几十或几百个。最多的话一般一次就几千。太多的话,一个是慢,另一个是可能会把Web服务器比如Tomcat整挂了。

七、用户画像实时展示异步触发获取Web自助后台

(1)为什么说这是个Web自助后台呢?一般是这种应用场景,运营团队要筛选一部分用户做广告投放,这个时候通过Web后台指定筛选条件,点击异步获取,然后这个异步获取会触发后台异步指定Hive SQL或者其它比如Spark处理程序、Spark SQL等从用户画像集市里查询出对应的所有用户集合,这个用户集合会比较大,不是几千条,一般是几十万、几百万这个量级,然后落地生成文件。异步计算完成后会返回一个文件地址,自助人员就可以把这个文件下载下来做后续的其他处理去了。
(2)什么叫实时展示异步触发呢?实时展示指的是我筛选的那部分用户,可以先实时调用搜索结果先看下前面一些样本数据如何,能返回多少个用户,这次推广能有多少用户触达。因为调用搜索接口是毫秒级的在页面上分页展示数据,很快能看到大概的一个效果。如果是异步获取数据,一般计算时间会很长,比如最少几分钟、甚至几个小时等。执行了这么久,不是自己想要的数据就白搞了。所以实时展示是快速验证下是不是自己想要的数据,确定了再去异步大批量的获取数据。

用户画像系统架构基本上是这个架构,每个公司大同小异。用户画像系统是一个通用和核心的系统,如果公司有预算的情况下,一般是安排一个用户画像小组专门负责这块的研发。
从上面几个系统的架构大家也能看出来,基于大数据的分布式人工智能应用系统,一般必须得掌握核心的Hadoop、Hive、Hbase、Spark等大数据平台和框架,分布式机器学习也是以它们为基础的,所以下面的章节专门讲一下大数据基础核心框架。

总结

除了大数据用户画像系统架构设计
其它深度学习框架也有不错的开源实现,比如MXNet,
此文章有对应的配套视频,其它更多精彩文章请大家下载充电了么app,可获取千万免费好课和文章,配套新书教材请看陈敬雷新书:《分布式机器学习实战》(人工智能科学与技术丛书)

【新书介绍】
《分布式机器学习实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】
新书特色:深入浅出,逐步讲解分布式机器学习的框架及应用配套个性化推荐算法系统、人脸识别、对话机器人等实战项目

【新书介绍视频】
分布式机器学习实战(人工智能科学与技术丛书)新书【陈敬雷】
视频特色:重点对新书进行介绍,最新前沿技术热点剖析,技术职业规划建议!听完此课你对人工智能领域将有一个崭新的技术视野!职业发展也将有更加清晰的认识!

【精品课程】
《分布式机器学习实战》大数据人工智能AI专家级精品课程

【免费体验视频】:
人工智能百万年薪成长路线/从Python到最新热点技术

从Python编程零基础小白入门到人工智能高级实战系列课

视频特色: 本系列专家级精品课有对应的配套书籍《分布式机器学习实战》,精品课和书籍可以互补式学习,彼此相互补充,大大提高了学习效率。本系列课和书籍是以分布式机器学习为主线,并对其依赖的大数据技术做了详细介绍,之后对目前主流的分布式机器学习框架和算法进行重点讲解,本系列课和书籍侧重实战,最后讲几个工业级的系统实战项目给大家。 课程核心内容有互联网公司大数据和人工智能那些事、大数据算法系统架构、大数据基础、Python编程、Java编程、Scala编程、Docker容器、Mahout分布式机器学习平台、Spark分布式机器学习平台、分布式深度学习框架和神经网络算法、自然语言处理算法、工业级完整系统实战(推荐算法系统实战、人脸识别实战、对话机器人实战)、就业/面试技巧/职业生涯规划/职业晋升指导等内容。

【充电了么公司介绍】

充电了么App是专注上班族职业培训充电学习的在线教育平台。

专注工作职业技能提升和学习,提高工作效率,带来经济效益!今天你充电了么?

充电了么官网
http://www.chongdianleme.com/

充电了么App官网下载地址
https://a.app.qq.com/o/simple.jsp?pkgname=com.charged.app

功能特色如下:

【全行业职位】 - 专注职场上班族职业技能提升

覆盖所有行业和职位,不管你是上班族,高管,还是创业都有你要学习的视频和文章。其中大数据智能AI、区块链、深度学习是互联网一线工业级的实战经验。

除了专业技能学习,还有通用职场技能,比如企业管理、股权激励和设计、职业生涯规划、社交礼仪、沟通技巧、演讲技巧、开会技巧、发邮件技巧、工作压力如何放松、人脉关系等等,全方位提高你的专业水平和整体素质。

【牛人课堂】 - 学习牛人的工作经验

1.智能个性化引擎:

海量视频课程,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习课程。

2.听课全网搜索

输入关键词搜索海量视频课程,应有尽有,总有适合你的课程。

3.听课播放详情

视频播放详情,除了播放当前视频,更有相关视频课程和文章阅读,对某个技能知识点强化,让你轻松成为某个领域的资深专家。

【精品阅读】 - 技能文章兴趣阅读

1.个性化阅读引擎:

千万级文章阅读,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习文章。

2.阅读全网搜索

输入关键词搜索海量文章阅读,应有尽有,总有你感兴趣的技能学习文章。

【机器人老师】 - 个人提升趣味学习

基于搜索引擎和智能深度学习训练,为您打造更懂你的机器人老师,用自然语言和机器人老师聊天学习,寓教于乐,高效学习,快乐人生。

【精短课程】 - 高效学习知识

海量精短牛人课程,满足你的时间碎片化学习,快速提高某个技能知识点。

大数据用户画像系统架构设计相关推荐

  1. python用户画像_大数据-用户画像DMP

    描述 大数据-用户画像DMP --小树老师 更多好课 大数据用户画像系统课程一.项目概述目前推广平台仅在投放端提供了有限的定向能力,广告主没有足够的流量抓手,无法满足大中型广告主的营销目标.画像系统提 ...

  2. 看完秒懂大数据用户画像!

    来自:网络 什么是用户画像? 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准.快速地分析用户行为习惯.消费习惯等重要信息,提供了足够的数据基础, ...

  3. 网易大数据用户画像实践

    [与数据同行]已开通综合.数据仓库.数据分析.产品经理.数据治理及机器学习六大专业群,加微信号frank61822701 为好友后入群.新开招聘交流群,请关注[与数据同行]公众号,后台回复" ...

  4. 大数据用户画像项目实战 ETL数据抽取

    一.课程介绍 一个基于规则的大数据用户画像项目为什么要选这样一个项目:1.典型的批量计算场景2.基于规则.涵盖大数据批量处理的各个典型场景3.可视化.所有控制流程全程可视化4.可扩展.通过集成更多的计 ...

  5. 基于Hadoop的大数据平台实施——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃 ...

  6. 什么是用户画像?金融行业大数据用户画像实践 [

    什么是用户画像?金融行业大数据用户画像实践 [复制链接]       电梯直达 楼主 发表于 昨天 14:36 | 只看该作者 | 只看大图 大数据系列零基础由入门到实战视频 本帖最后由 丫丫 于 2 ...

  7. 大数据实时广告系统架构

    大数据实时广告系统架构 文章目录 大数据实时广告系统架构 1 日志采集 2 kafka 削峰填谷 3 实时计算部分 3.1 实时日志拼接.热点数据计算 3.2 Flink 关联日志 3.3 Flink ...

  8. 大数据用户画像之基本概念(一)

    什么是大数据用户画像? 大数据用户画像指的是基于大数据技术和算法,对用户进行多维度的数据分析和挖掘,从而构建用户的详细描述和分析模型. 通过分析用户的 基本信息.消费行为.兴趣爱好.社交行为.地理位置 ...

  9. 大数据时代的IT架构设计

    大数据时代的IT架构设计(来自互联网.银行等领域的一线架构师先进经验分享) IT架构设计研究组 编著   ISBN 978-7-121-22605-2 2014年4月出版 定价:49.00元 208页 ...

最新文章

  1. 这样的独处,能让你变得越来越优秀
  2. ABAP Submit 用法解析
  3. 一图看懂钉钉宜搭线上发布会
  4. 7个月,4000+人,500+源码笔记,诚邀你参加源码共读~
  5. 从零开始实现 ASP.NET Core MVC 的插件式开发(七) - 问题汇总及部分问题解决方案...
  6. ssl提高组周四备考赛【2018.10.18】
  7. Cloud一分钟 |高通预在年底与苹果和解;比特币绝地反弹;广电拿下5G,或成第四大运营商...
  8. 5月5日——更改手机状态栏的背景颜色
  9. 大型网站架构系列:20本技术书籍推荐
  10. 计算机桌面程序经常打不开了,电脑开机后桌面软件打不开怎么办
  11. 关于市场调查分析与需求分析的心得
  12. 毕业设计-基于stm32的校园旧物回收系统
  13. linux看网卡ip,linux查看ip地址、显示太网卡配置、网络设备
  14. Visual C++ 2010 Express中文版如何下载
  15. JavaScript获取当前url路径
  16. Top 10 tips to prepare your Dynamics AX 2012 Go Live
  17. android高德地图热力图,调用高德地图API(热力图)详解(示例代码)
  18. python正则表达式实战中的总结
  19. vscode 忽略pep8的指定报错码
  20. js将数组转化成json

热门文章

  1. Struts2 知识点总结及其详解
  2. javaweb JAVA JSP婴幼儿用品销售系统jsp购物系统购物商城系统源码(电子商务系统)网上在线销售
  3. Scala 解析wkb
  4. linux乌班图系统关不上,Ubuntu无法关机的解决方案
  5. 如何让你的闲钱增值?
  6. 状态的抽象:从狼羊白菜游戏和倒油问题说起
  7. 第116章 SQL函数 REPLACE
  8. appreciate
  9. 【20211214】【信号处理】从Matlab仿真的角度理解频谱混叠和奈奎斯特采样定理
  10. python微信红包_python 微信红包