《海量数据下的OLAP实践.pdf》由会员分享,可在线阅读,更多相关《海量数据下的OLAP实践.pdf(34页珍藏版)》请在三个皮匠报告上搜索。
1、DataFunSummit#2023海量数据下的OLAP引擎实战余志鹏-蚂蚁集团-级技术专家我介绍余志鹏(花名百恼),蚂蚁年兵2013 2018年,阿速卖通(Aliexpress),主要负责营销平台、卡券平台、积分平台的建设2018 Now,蚂蚁数据DeepInsight性能负责01为什么需要通过ADM来解决OLAP场景下表性能问题02通过Cube解决OLAP场景下报表性能问题03通过采样解决OLAP场景下分析性能问题录 CONTENT04我们的团队DataFunSummit#202301通过ADM解决OLAP场景下的报表性能问题为了便理解后续的内容,数据分析中的些基本概念需要提前理解ODS:
2、Operation Data Source这层基直接把在线的数据库同步到离线数仓DWD:Data Warehouse Detail明细层:如交易流ViewControllerModelDB LOGTable2Table1Table nfile nfile1OLTPOLAPDWS:Data Warehouse Summary轻度汇总层:如按照user_id进汇总ADM:Application Data Model向具体业务应的数据集合数据量于100亿于100亿于10亿于1亿蚂蚁场景下的数据数据驱动决策链路中,制作报表和分析的效率就决定了数据驱动决策效率业务看数数据分析经营决策 DAU/MAU/A
3、AU 各城市 各企业 趋势增 还款率 当业务数据出现问题时需要找到问题的原因把分析得到的洞运在经营决策中通过业务看板中的数据变化,指导经营决策把分析和看板中得到的洞进经营决策,提决策效率和质量建分析的假设树,沿着分析思路不断分析,找到洞第步:制作业务看板,核耗时在研发ADM运营&PD业务BI员ETL数据研发员提出数据分析需求选择数据数据集简化数据需求反复确认径报表发布正式报表选择图表拖拽式分析过滤筛选查看结果草稿报表报表制作流程DWDADM制作张报表平均耗时1.5天,其中ADM研发耗时1天(如果年产万张报表,则需要1万)当业务出现下跌,需要找到原因是什么?*份“贷款余额”下降,为什么?是否某产
4、品余额下降?各产品余额均等幅下降是否受新/客的影响?新客的余额环下降明显是否受新客数量影响?新客户数量环明显下降是否仍受不同客群影响?*客群新客余额下降*地域*客群还款总额环持平*地域*客群还款多了?*地域*客群贷款总额环下降是否授信额度少了?*客群的授信额度下调是否受其他因素影响?*地域*客群余额环下降明显客余额环略有上升其他原因?涉农/监管等明显影响*地域*客群贷款少了?未探索是否仍受不同地域影响?什么类型的流量减少?活动权益曝光量环减少活动权益户量同减少权益曝光量少?权益点击量少?活动权益点击量环减少户产品流量12345678910111213*地区*客群新客户贷款政策收紧结论1拉新活动
5、权益投放减少结论2运营反馈近期拉新策略调整建假设树,不断在各个空间上进探索,找到贡献度最的原因实现前假设树分析的流程:写SQL,等运,查质量业务理解【5时】分析论证【40时,占整个过程时间消耗的80%】报告产出【5时】主流程【时间消耗】步骤分解定义问题理解业务闭环设计分析思路找到对应的数据写SQL运脚本质量检查【单次数分钟】洞获得做报表【2时】写报告【2时】*份“贷款余额”下降,为什么?设计了3个分析思路进尝试下未找到洞,则重新设计分析思路,般需要循环次规范的资产模型可减少这步的开销定义是个度量,依次分析等待ODPS返回检查运结果质量,数据不对则重新跑1.80%的探索时间都是在做度量的清洗,持
6、续4天,产出量的临时ADM脚本(次性)或者ADM数据(固化后每天都跑)2.运营不会通过SQL做度量清洗,不会做数据探索,BI资源有限,所以解决案是技术团队的同学做:数据探索(分析+ETL)问题洞般都是周级时间消耗探索式分析流程:写SQL,等运,查质量度量定义【了解业务的情况下,分钟级】SQL脚本写SQL代码【单次1时,时间占15%】时间消耗 细分等SQL运结果【得到正确结果5时(单个SQL耗时1-2时,跑2-3次),时间占80%】背后的缺点当技术同学不了解业务需求的时候,要能够定义出适合data-exploration的度量是不容易的,可以拿上的SQL脚本举例,于是产量沟通成本,如果是本业务线