OPPO商业化数据体系建设实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. OPPO商业化数据体
系建设实践
邱盛昌 OPPO商业数据研发负责人&技术专家
2. 个人介绍
姓名:
邱盛昌
自我介绍:
1、十年以上数据分析工作经历,目前负责OPPO商业平台部数据体系架构及其数据研发
2、曾就职于多家大型互联网公司,熟悉大数据体系下内容建设相关的各技术栈的知识,
非常热爱技术,深入技术细节且实战经验非常丰富
3. 目录 CONTENT
01 数据平台 02 数据接入
03 数据开发 04 数据治理
05 数据应用 06 数据分析
4. 一:批处理主线
二:流处理主线
三:算法应用辅线
提示:开局一张图,后面的内容都是按此图展开
5. 01
数据平台
主要基于公司级的平台下构建商业化数据体系
总体原则:有则用,不等待,愿迁移,可贡献
往下展开内容:开发工具包/UDF开发工程
6. 数据平台 > 开发工具包
提升开发效率类工具包:
登录辅助
解决问题:统一所有登录入口,记录审计信息,100%填充表归属
其它工具包:获取最大分区,数据初始化,批量加分区、去分区等
7. 数据平台 > 开发工具包
数据校验类工具包:
两表对数、波动监控:只需要传入表名与规则,自动对数并告警
调用方法:sh dq_xx.sh arg1 arg2 arg3
8. 数据平台 > 开发工具包
可视化辅助类工具包:
邮件工具
实现功能:按邮件正文、附件、文件转表格,以及以上的混合展示
调用方法:python mail.py arg1 arg2
TT工具:公众号、订阅号、机器人
9. 数据平台 > UDF开发工程
UDF开发原则:
尽量使用临时函数,发布简单,影响范围小
不可用后端思维开发,要“吃掉”异常,不能抛出异常,不然后期维护会非常头
疼,若异常返回NULL,数据质量在数据端保障
UDF
功能
卡方检验,四格,计算卡方统计量 select math_chisq(40,60,20,80);
--->9.523809523809524
解析实验平台的实验id select experiment_Idreecode('100_2_3');
--->100_102_105
常用的加密与解密(AES等) select
descrypt('VRx2RAs6N%MTh0cdBz41v0lYW4FlKFsJOPSjaHbg0')
---> 010544380998
...
...
10. 02
数据接入
最终形态是全面配置化,中间件化,流批一体化
往下展开内容:实时离线接入
11. 数据接入 > 离线接入
实时离线接入
注意事项:出入库必须强制校验数量,尽量全接入,注意记录历史
出入库
内容
参考校验方法
MySQL-> Hive 老作业还有Sqoop上,现在正在往集成工
具迁移,使用BinLog方式接入 源记录数 >= 0时
目标记录数不能为0
HDFS -> HDFS 主要是集群间的同步数据,使用Distcp方
式,全配置化 源文件数 = 目标文件数
MySQL-> Redis 用于实时数据的维表,导入前做些聚合,
一般不可直接访问业务MYSQL作为源 Hive -> ClickHouse 此方式主要作为报表的载体,OLAP应用
...
...
源记录数 = 目标记录数
...
12. 03
数据开发
构建基于维度建模理论的离线数据仓库系统
实时主要服务于收入监控/实验/策略/广告引擎等
往下展开内容:数据仓库系统
13. 数据开发 > 数据仓库系统
接入层:也叫缓冲层,存储
从业务系统或者埋点过来的
最原始数据,无清洗处理,
一般只保留7天数据
基础层:存储初步清洗处理
的,明细的数据,贴源的数
据,关联后的数据
模型层:存储维度建模的星
形事实表与维表,轻度汇总、
汇总的数据,通用指标数据
应用层:也叫报表层,存储
汇总的结果数据,个性化处
理数据,预连接数据。此层
不允许有基础指标计算逻辑
14. 数据开发 > 数据仓库系统
主题域划分,指标体系
按照各业务特点划分,比如广告划分为:应用分发,搜索,信息流,联盟等主题
不同业务关注的指标千差万别,举例广告业务的基础指标体系(相对固定):
业务指标使用OSM模型
15. 数据开发 > 数据仓库系统
维度建模理论实施
总线架构
一致性维度
一致事实
广告ID
广告名称
落地URL
规格
渠道
...
16. 数据开发 > 数据仓库系统
ETL链路优化
方案一
优化时间等待作业(airFlow)
主题内高内聚低耦合
DAG链条上关键任务优化
黑盒任务分开建模
慢任务与核心模型分离
方案三
方案二
17. 数据开发 > 数据仓库系统
最终商业化数据仓库的评估
稳定性:无需夜晚值班,很少出现自身原因的重大延迟事故
高效性:整体跑批快,告警与通知及时准确,平均每天6点左右跑完90%以上任务
准确性:数据质量管理的同步实施,自动化对数与校验,环环相扣,数据质量高
维护性:规范化开发,命名、注释等严格控制,按照标准方式建模,易用易维护
创新性:与行业相比,数据质量管理、精准告警、SLA等解决方案具有很高创新性(后
继章节讲到)
18. 04
数据治理
元数据管理是基础,在做数据治理时先解决元数据
质量是生命,先上线再说可能让你步入痛苦的深渊
资源管控原则:开发时就治理,捉重点,成本意识
往下展开内容:元数据管理/数据质量管理
19. 数据治理 > 元数据质量
元数据的分类:
元数据是数据质量管理,数据治理的前提
20. 数据治理 > 元数据质量
各类元数据用途:
Hive&DB元数据
监控建表规范,比如有无注释,命名规范,禁止使用的格式等
拿到表注释与列注释,构建数据知识系统
统计信息可以做技术运营(代替手工统计,比如哪些表用了orc)
21. 数据治理 > 元数据质量
各类元数据用途:
调度元数据
监控调度开发规范,比如开启依赖上周期,重调次数,命名规范等
监控任务实例:运行时间过长,启动较晚,报错情况,无下游等
22. 数据治理 > 元数据质量
各类元数据用途:
开发元数据(代码脚本)
用于代码扫描,提前发现代码中的质量问题,按规范情况、使用了禁用用法等
统计信息可用于技术运营,比如:研发年报,千行代码BUG率统计等
23. 数据治理 > 数据质量管理
数据质量管理方案实施
为了保证数据质量,数据仓库必须实施数据质量管理方案:
主要通过邮件、短信、TT呈现数据质量问题,分事前监控与事后监控两种类型
24. 数据治理 > 数据质量管理
数据质量管理方案实施
所有人按规范开发
数据准确,性能最优
所有报表同指标口径一致
业务变更数据随着变更
数据量剧烈波动预警
表扫描,代码扫描
25. 数据治理 > 数据质量管理
SLA准点率提升监控
核心表运行时间从1点开始持续告警(核心表必须专项优化)
3点时:持续变少
4点时:完成!
26. 数据治理 > 数据质量管理
SLA准点率提升监控
需保证的报表:精确预估完成时间
方法是取作业的历史30天的平均运行时间来预估
如下图取未完成A~H到目标作业的最大平均运行间隔加在当前时间
A~H就是上页核心表!
比如:当前时间4:30,图中A~H中只有DH没有完成
1、D到目标作业的历史30天平均间隔时间是5.1小时
2、H到目标作业的历史30天平均间隔时间是3.8小时
则取4:30加上5.1小时为预估时间,即预计9:36完成(实
际操作中可去掉异常的数据,因为有重跑误导)
27. 数据治理 > 数据质量管理
SLA准点率提升监控
需保证的报表:出现预估时间超过8点,运维联系人起来(从核心表
中判断联系谁)
4点时:没有完成就预估完成时间
5点时:完成了就不再发告警
28. 数据治理 > 数据质量管理
SLA准点率提升监控
非保证的报表:按种类通知,通过手机可以知运行情况
7点时:列出哪些没有完成
8点时:没有完成变少
11点时:全部完成!
29. 05
数据应用
基于数据仓库系统,抽象通用的功能,构建易用的
产品与系统
通过探索与创新,构思有助于业务增长的数据应用,
不仅局限于报表
往下展开内容:数据波动监控/广告归因服务
30. 数据应用 > 数据波动监控
解决波动监控痛点以下
最大的痛点:告警太多,直至泛滥,慢慢你就麻木了,相当于没有告警
第二痛点:准确率不高,不该告警的告警,要告警的没有告警出来
第三痛点:阈值设置困难,一个阈值不能适用所有场景,全个性化阈值又太多
31. 数据应用 > 数据波动监控
商业化数据波动监控
32. 数据应用 > 数据波动监控
按广告位监控波动的有效方法:
金额分级、环比上周期、同比昨天、同比上周组合同时满足条件来判断
支持自由维度配置,比如:按广告主,应用,TOP50消耗金额等
例子:达到一定的条件才会告警
昨日总消耗处于1~5万之间时,同比上周下降500%,同比昨天下降300%,环比是下降趋势
昨日总消耗处于5~10万之间时,同比上周下降300%,同比昨天下降200%,环比是下降趋势
...
昨日总消耗处于100万之上,同比上周下降25%,同比昨天下降20%,环比是下降趋势
昨日总消耗处于20万之上,同比上周上升100%,同比昨天上升60%,环比上升10%
33. 数据应用 > 数据波动监控
例子:
波动类:
撞线类:
34. 数据应用 > 广告归因服务
架构
35. 数据应用 > 广告归因服务
作用:
全流量营销效果透明化
广告主在全流量投放都能获得广告监测数据,使得广告转化效果透明化
广告主能基于全流量监测数据,自主进行归因和转化成本考核
广告归因方式科学公平、统一低成本
广告主能用公平的方式,对全流量广告投放分配归因结果
广告主能用低成本的统一手段,在全流量场景投放时,统一做监测和归因
数据回传闭环,反哺算法模型,优化oCPX投放,持续获取转化人群
广告主能够回传转化数据,并优化oCPX投放效果
广告主更全面、精准、高效地获取转化人群
36. 06
数据分析
赋能非数分的人员数据分析,建立培训认证体系
重点投入对于业务流程的理解,建立数据知识体系
沉淀数据分析的方法,让方法产品化,系统化
往下展开内容:提取数据/微型分析报告
37. 数据分析 > 提取数据
《数据的力量》系列培训:
授课对象:产品、运营、刚入门的分析师等希望自己写SQL获取数据的人员
课程的最后结业考试且通过颁发结业证书,拥有证书有助于申请数据权限
第一节课:《获取数据的流程与工具》
第二节课:《分析型SQL编写指南》
第三节课:《拖拉拽自助取数系统的使用》
第四节课:《常用埋点与数据仓库知识》
第五节课:《SQL取数案例集锦》
第六节课:《多维分析报表串烧》
38. 数据分析 > 提取数据
39. 数据分析 > 微型分析报告
微型分析报告特点
触达率高,手机随时在你身边,周末休假都能掌握当前业务的情况
简单方便明了,字字推敲,格式精心设计,还可结合图文,全自动化实现
很高效,不需要复杂操作,几分钟阅读的时间,就能获取到你需要的决策信息,
如同每日阅读新闻资讯
40. 数据分析 > 微型分析报告
存在意义
报表又多又杂又复杂,多数情况下你只想看关键的信息
他的潜力巨大,需要你来挖掘(注意不要做太多微型分析报表,泛滥就失去作用,
只做最有用的)
41. 非常感谢您的观看