dmp广告系统

项目背景就是项目描述,主要描述以下几个方面:
1、你分析的数据源是什么,有几个,为什么
2、通过这些数据要分析什么结果(有几个模块,每个模块有哪些需求)
3、通过这些结果能够给公司的产品或决策带来什么

项目描述
该项目的数据源是通过不同的用户点击多个app或网站生成的用户点击流日志,ADX通过多个app或网站收集的这些日志并整合到一起用于标签的分析。
通过多个载体提供的用户点击流日志,可以分析各种报表和用户画像基础数据的分析(标签信息)。
生成的结果中,报表可以给决策者进一步分析用户的点击习惯或操作行为,标签信息可以给公司的推荐系统和RTB(实时竞价)系统提供基础数据。

技术架构
描述技术架构的顺序:
1、数据源涉及的技术
2、数据对接过程用到的技术,涉及的问题
3、数据进行需求的分析用到的技术
4、结果的存储
在这里插入图片描述
在这里插入图片描述

业务流程
业务流程需要结合技术架构进行描述,主要是偏业务方面的描述,描述业务的整个实现过程
首先需要描述用户请求时需要广告的展示的内容,接下来描述展示的广告的分析过程,最后在描述你负责的项目所做的具体内容。
在这里插入图片描述

需求实现
关于媒体类别需求的实现:
在获取媒体类别(appname)字段进行分组操作时,发现有的值为空,这时需要在分组之前做一步操作,按照appid到app_dict.txt里根据appid去找对应的appname,如果找不到,则以appid作为媒体类别。

报表-媒体分析
需要用媒体类别(appname)进行分组,但该字段可能有空值,如果有空值,需要从扩展字典(app_dict)文件里按照appid取对应的媒体类别字段,如果取不到,则以appid作为媒体类别的值。
在统计的过程中,扩展字段内容有可能根据需要不断地更新(修改或删除或新增),如果放到HDFS,此时是不好维护。再有,扩展字典的数据量不是很大,而且会频繁的交互,所以可以将给文件放到一个内存数据库中,我们选择用redis存储app_dict。
用SparkSQL的方式实现媒体分析,需要用UDF实现获取redis中的扩展字典

数据标签化
按照指定的规则生成标签数据,比如广告位类型,获取的字段如果是3,需要拼接“LC”,该值不大于10的情况下,需要补0,则生成的标签为:(LC03, 1),该值不大于10的情况下,需要补0。最后需要将生成的所有标签按照key进行聚合。

为什么生成标签?
给rtb作为分析用户行为习惯的基础数据
给推荐系统作为基础数据
标签的数据格式:key-value
key:用户的操作行为,比如点击的广告,操作的某个媒体、输入的关键字等
value:用户操作该行为的聚合值(次数)
最终生成的标签数据是:(userid,List(标签,聚合值,标签,聚合值,标签,聚合值,标签,聚合值,。。。。))
关于userid,不是用户在某个媒体或网站注册的userid,因为不同的媒体或网站会生成不同的userid,这样会让rtb无法找到对应的唯一的标签。实际上rtb拿到的userid是一般是以用户操作设备的id或系统id做为userid。
最终生成的标签的聚合过程是以用户粒度进行聚合的

标签实现的过程:
App 名称标签:需要考虑到扩展字典,需要获取扩展字典的数据和appid进行匹配。
关键字标签:如果有包含“|”,则切分生成多个关键字,字段长度要求大于等于3小于等于8,需要匹配停用字典,匹配到则过滤掉。
**商圈信息标签:**主要是为了给用户做商品或店铺的推荐用途,是通过用户提供的经纬度里找到附近的商圈信息。
GeoHash的应用场景:数据里提供的是具体的经纬度信息,但经纬度信息不能作为地理范围的商圈推荐,需要想办法将经纬度信息转换为一个大致地理范围,这样才能在这个范围当中获取对应的商圈信息,并推荐给用户,此时就可以用GeoHash实现。
GeoHash值的范围是通过生成一定长度的字符串决定的,length越大范围越小。一般生成用户画像中的商圈标签,GeoHash值的长度给6~8位。字符串相似的表示距离相近。

对接百度地图接口过程
1、注册登录
2、获取密钥: 创建应用-》记录刚刚生成的AK、SK,以后请求百度地图时起校验用途
3、查看帮助文档,对接第三方接口

对接百度地图的地理信息需要存到数据库,为什么?
1、为了成本考虑,先到数据库进行查找,如果没有,再请求百度地图
2、减少网络请求数,提高效率

该项目中用到的图计算的应用场景
昨天操作的标签聚合的过程,我们只是拿到第一个不为空的userid作为结果标签数据的key进行聚合,这样有可能出现一个问题,就是一个用户在不同的系统或不同的设备中的操作,此时一定会生成不同的userid,因此生成的标签一定不会聚合在一起,我们可以用图计算的方式实现将同一个用户不同的userid的标签数据尽量给关联起来。

认识图计算
用图计算的方式实现过程中,首先需要构建点的集合,再构建边的集合,最后用图计算生成关系图并进行join整合

关于每天的标签数据存储到HBase和最终标签数据存储到ES的问题描述
HBase里存储的是最近30天的标签数据,而且每天的标签数据之间是没有关系的。
最终的标签数据是在ES中存储的。

为什么用HBase存储每天的标签数据?
是因为在运营部门的展示端(数据平台)需要展示一定时间范围内的标签数据,当然在展示的时候,还有其他的条件,比如,按照某个区域展示,按照某个年龄段。

为什么 最终的标签数据用ES来存?
1、数据量多,ES可以存储海量数据。
2、需要保证数据的安全性,ES实现了多副本机制。
3、一方面是rtb需要不断地获取数据,另一方面是运营部门的数据平台需要通过多种查询方式进行检索,所以当时的技术选型选择的是ES。

最终的标签聚合过程和标签的衰减
首先拿到HBase前一天的聚合数据,再拿到ES中所有的最终标签数据,按照相同的key(userid)进行聚合,聚合的过程就是,同一个userid下,相同的标签进行value累加,不同的标签进行合并。
在聚合的过程中,需要注意一点,标签数据需要根据时间的迭代需要有一个衰减的过程,目的就是为了提高标签的有效性。标签的聚合值需要和衰减系数相乘,相乘后得到的值和最初的聚合值相比,如果大于0.5,则留下,如果小于0.5,则过滤掉该标签。该项目中的衰减系数为0.83,不同的业务衰减系数是不同,衰减系数是怎么出来的?是由你的算法部门计算出来的。
所以,最终的聚合过程是需要另一个应用程序进行计算。

标签的分类
标签一定要先分类,在安装每一个分类确定多个标签,一般用户画像系统的标签数都是在几百甚至是上千。

互联网常见指标
pv:用户请求页面的访问量,页面被刷新一次就会被记录一次,注意pv不是页面的访问量者的数量,是统计网站被访问的页面的数量。

ip访问数:指独立ip访问数,是以一个独立ip在一个计算时间段内访问网站计算为1次ip访问数。在同一个时间段内多次访问均记录为1次。时间段可以是一天,也可以是一个小时。

uv:独立访客。一台终端为一个访客。在同一个局域网中对互联网访问时对外通常是同一个ip,比如该局域网中终端数为10台,这10台同时访问一个网站,此时对该网站的独立ip访问数为1,uv访问数10.

同比、环比、定基比通常用于描述产品的发展速度,比如用于分析销售部额、销售数量、在线人数、充值金额等等。

**同比:**指本期发展水平与上一年同期发展水平对比。

同比有同比增长速度和同比发展速度两种

同比增长速度=(本期数-去年同期数)/去年同期数*100%

同比发展速度=本期数/去年同期数*100%

**环比:**指本期与前期数之比,代表逐期的发展速度。环比分日环比、周环比、月环比、年环比。

环比分环比增长速度和环比发展速度两种

分环比增长速度=(本期数-上期数)/上期数*100%

环比发展速度=本期数/上期数*100%

**环比指数:**指各期依次以前一时期进行统计的指数。统计整个期数发展的趋势。

**定基比:**也指总速度,值本期与某一固定时期进行比较,代表在较长时间期段内的发展速度。

比如“九五”期间各年水平,都是以1995年为基数期进行对比。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程简介:  本项目课程是一门极具综合性和完整性的大型项目课程;课程项目的业务背景源自各类互联网公司对海量用户浏览行为数据和业务数据分析的需求及企业数据管理、数据运营需求。 本课程项目涵盖数据采集与预处理、数据仓库体系建设、用户画像系统建设、数据治理(元数据管理、数据质量管理)、任务调度系统、数据服务层建设、OLAP即席分析系统建设等大量模块,力求原汁原味重现一个完备的企业级大型数据运营系统。  拒绝demo,拒绝宏观抽象,拒绝只讲不练,本课程高度揉和理论与实战,并兼顾各层次的学员,真正从0开始,循序渐进,每一个步骤每一个环节,都会带领学员从需求分析开始,到逻辑设计,最后落实到每一行代码,所有流程都采用企业级解决方案,并手把手带领学员一一实现,拒绝复制粘贴,拒绝demo化的实现。并且会穿插大量的原创图解,来帮助学员理解复杂逻辑,掌握关键流程,熟悉核心架构。   跟随项目课程,历经接近100+小时的时间,从需求分析开始,到数据埋点采集,到预处理程序代码编写,到数仓体系搭建......逐渐展开整个项目的宏大视图,构建起整个项目的摩天大厦。  由于本课程不光讲解项目的实现,还会在实现过程中反复揉和各种技术细节,各种设计思想,各种最佳实践思维,学完本项目并勤于实践的话,学员的收获将远远超越一个项目的具体实现,更能对大型数据系统开发产生深刻体悟,对很多技术的应用将感觉豁然开朗,并带来融会贯通能力的巨大飞跃。当然,最直接的收获是,学完本课程,你将很容易就拿到大数据数仓建设或用户画像建设等岗位的OFFER课程模块: 1. 数据采集:涉及到埋点日志flume采集系统,sqoop业务数据抽取系统等; 2. 数据预处理:涉及到各类字典数据构建,复杂结构数据清洗解析,数据集成,数据修正,以及多渠道数据的用户身份标识打通:ID-MAPPING等;3. 数据仓库:涉及到hive数仓基础设施搭建,数仓分层体系设计,数仓分析主题设计,多维分析实现,ETL任务脚本开发,ETL任务调度,数据生命周期管理等;4. 数据治理:涉及数据资产查询管理,数据质量监控管理,atlas元数据管理系统,atlas数据血缘管理等;5. 用户画像系统:涉及画像标签体系设计,标签体系层级关系设计,各类标签计算实现,兴趣类标签的衰减合并,模型标签的机器学习算法应用及特征提取、模型训练等;6. OLAP即席分析平台:涉及OLAP平台的整体架构设计,技术选型,底层存储实现,Presto查询引擎搭建,数据服务接口开发等;7. 数据服务:涉及数据服务的整体设计理念,架构搭建,各类数据访问需求的restapi开发等;课程所涉及的技术: 整个项目课程中,将涉及到一个大型数据系统中所用到的几乎所有主要技术,具体来说,包含但不限于如下技术组件:l Hadoopl Hivel HBasel SparkCore /SparkSQL/ Spark GRAPHX / Spark Mllibl Sqoopl Azkabanl Flumel lasal Kafkal Zookeeperl Solrl Prestop

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值