项目总体分析
不同的视频APP可能和不同公司的ADX有股份关系,甚至,有的视频APP做大了,可以用自己的ADX,那从app到ADX的数据可以直接对接,否则就要有合作,然后ADX对接广告投放引擎
广告投放引擎(也就是媒体服务器)对接多个媒体的数据,
(从广告投放引擎,怎么将数据Flume到hdfs,这个不清楚)
这个要记住:面试可能会问
dmp计算的源数据是由交易平台对接了多个媒体的数据,而且是提前对接的数据进行计算的,并把最终聚合标签结果存储到es中,rtb是实时去dmp存储的结果中拿取对应的标签
1、广告主投放过程中,用户群体(受众群体)的一些分析
2、分析DSP投放的过程中的各种具体投放效果或者说是力度,比如广告的曝光程度(不管用户看没看,都相当于广告进行了展示),比如用户的区域统计等
该广告投放项目分析的数据源(指的是标签等数据):
广告主需要从DSP对接需要的数据进行分析,这些数据是DSP事先生成好的半结构化数据,广告主需要对接DSP提供的接口来获取对应的信息。
渠道和通道:
渠道:一个媒体对应一个渠道
通道:每个媒体不同的模块,每个模块称作通道 (一个渠道可以生成多个通道,比如携程首页点击酒店媒体里面包括国内,国外,还有名宿等)
互金:互联网金融
注意,维表的信息在mysql做了更新操作后,一定要及时更新到hive中
怎么更新,如果更新的频率不是很高,可以手动及时更新,反之,可以设置定时任务
说项目的时候:
我们携程可作为广告主,就是将广告信息推送到其它平台上,比如百度或者搜狗等的DSP上,做一些用户群体(受众群体的分析)和DSP投放过程中具体的投放力度(比如广告曝光率,或用户的区域统计等);我们也可以作为DSP方(也就是媒体服务器),对接大量广告主,而且我们拥有自己的RTB和DMP,同时我们携程会接收第三方平台信息进行DMP信息标签的扩展。
项目业务流程
日志数据获取的是用户点击行为操作,订单的金额,商品的金额,这些从日志数据无法获取,需要从业务数据进行获取
数据源分析
数据命名规则:数仓层_业务方式 如 ods_release/sda_release
ods/sda层 -> sda/ods_业务(原始数据)
dw层 -> dw_业务 (主题库)
dim层 -> dim_维度 (维表库)
dm层 -> dm_业务(集市库)
middle层 -> mid_业务(中间库)
临时数据 -> temp(临时库)
(3-1) 数据库表命名规则:
原始层表:数仓层_来源类型_业务 如 ods_01_xxx
其他表:数仓层_业务 如 dw_xxx
如果业务名称较长可以简写 如 ods_01_xxx_xx_xx ods_01_xx
01 -> hdfs数据
02 -> mysql数据
03 -> redis数据
04 -> mongodb数据
05 -> tidb数据
ods_release.ods_01_release 投放数据
ods_release.ods_02_user 注册用户表(业务表:存于MYSQL)
dm_release.dm_customer_stat 目标客户统计表
ODS层库表
广告投放原始数据
sid string comment '投放请求id',
release_session string comment '投放会话id',
release_status string comment '参考下面投放流程状态说明',
device_num string comment '设备唯一编码',
device_type string comment '1 android| 2 ios | 9 其他',
sources string comment '渠道',
channels string comment '通道',
exts string comment '扩展信息(参见下面扩展信息描述)',
ct bigint comment '创建时间'
) partitioned by (bdp_day string)
stored as parquet
location '/data/release/ods/release_session/'