00:00
好,刚才呢,我们从这个理论上,嗯,带大家去感受了一下这个数仓啊,里面做了什么事,以及分层的一个好处啊,那下面呢,我们以这个数据的角度来看一下。好,Ods层原始数据,保存数据的原貌,对数据不做任何处理,那大家回忆一下,上次课我们说把数据存到HTS了,并且是HTS和re data g面log它这个。差不多一元的,然后两份数据,2月10号,2月11号,2月10号20号放到这个文件夹里面了吗?好,那之后怎么把它导到书抄里面呢。用什么命令?类是不是就可以了,Not类加载到,那这就是对应的have数商里面的表。Pass的表啊,一个呢是表,一个是的表。然后通过那命令把这里面数据加载过来啊,直接关联上,那这里面为什么放了两段啥意思啊。
01:07
是不是按照天进行一个分区,对啊,就是按天就算一个分区。真正在其他中也是基本上就是每天一个分期,每天一个分期啊。之后第二层DWD层也是明细层,它主要做一些数据清洗啊,数据清洗啊好。那这你要注意它这里面顺写写啊,你看这是数据保持一致,最后也有一个叫什么d wi,个别公式把它叫d wi。那我现在我要声明一件事,整个在这个数仓这一块,其实它的分成啊,这个名字每个公司都不一样。可以这么说。啊,因为你就去查一些书和资料,你会发现啊,有的公司叫ods啊,这个ods和差不多一致行,像这个从第二层往后DWD也叫DW的,那最后一层咱们叫ADS,有个别公司叫APP了。
02:06
其实就是英文名字的一个翻译,有的人喜欢用这种翻译,有的人喜欢用这种啊,而且呢,这块呢,属于这个,呃,初期没有人去统一规范啊,那就会导致呃这个叫法不一样啊,但是呢,做的事。记住都是一样的,所以说你在跟面试官交流的时候,如果说他出了一个这个生僻的这个呃层的名字,你不要诧异啊,你就问他这层干了什么事,那比如说他这一层做了随星期。那就对应了咱们的D。对吧?啊,如果是D带,他说做了这个轻度的一个汇总聚合,那它就是D带。啊,如果这成是出报表的,那就CF啊,所以说从这个角度啊,去问他做什事,其实对于你们来说最困难的就是交流。啊,老师教了你那多东西,那突然间发现人家问了一个生病的名词蹦出来都没讲过来,然后是你,你回来找我之后,我跟你说他其实问的是什么事啊,来什问的那个。
03:07
啊,就是这样的啊,好多东西其实你们都知道啊,行,那这个呢,就是DW程。那DW层首先它得从OD层拿数据,对吧,对ODI层进行数据清洗,那首先这两个呢,就是ODI层的数据没问题吧,这不两个点吗,这两个点。啊,对了,好,那对这两张表我们叫做数据清洗,那在清洗的过程当中,还记得不大的表,它是不是简单的JA身数据,那这个even的表里面是JA身to JA是反复杂呀,哎,所以说这里面啊,弄了一个类似中间表啊,中间表进行一个解析之后再说好。那对象这个只有一单层的这个建设数据直接一步到位解析出来。
04:00
啊,有对应的近似解积函数可以,那像这种比较复杂的,我们做了一个中间过程,那这个中间过程当中,我们用到了自定义UDF和自定义UDTF。Udf咱们是讲过的,对吧?UDTF目前没讲,在本次项目当中给大家讲,那这两个自定义函数就是项目中的亮点。啊,也是一个小难点,OK啊,那从通过这张表把11段事件全部截出来。对吧,用户行为一共有12张表进行去掉这个启动日志,那还有11张啊,都是通过这截出来的。好,那就是在DWD层搞定之后,DWD层是把所有的数据全部准备好,下一层无条件拿出来直接可用啊。嗯。之后来到地两大一层,那这一层呢,主要做梯度的汇总,那这里面举个一个例子,例子就是在这一层通常以一个维度为线索,组成跨主题的宽表,比如一个用户当日的签到数、收藏数、评论数、抽奖数。
05:11
订阅点赞数、浏览商品数、购买、添加购物车、下单、支付、退款、点击广告。我让你把这些名词记下来,能不能记下来?这是面试官愿意问的,比如说面试官说你平时都分析过呢,随时行。那这时候要求大家在两分钟之内连续说出来30个指标,直接就OK了。30个指标,对啊,必须得要有30个指标,因为咱们未来在写这个项目当中,至少要说有100~200个指标。那你连续输出来30啊,如果他这样一说,那你就输了,如果连续打出30个,我估计他可能就要叫醒你了,对吧?啊,所以就OK啊,行可以了,应该是这样。
06:01
那这30个好不好说呢?其实非常好说,你想想你看这里面你说你每天统计了,诶,每天统计签到数是多少,收藏两个,评论三个,抽奖四个,五个,六个,七个,八个,九个,十个,11个,12个,这里面就12。那我说你这是天指标,那每个指标是不是还有周周啊,还有月呀,各位。是这样吗?啊,就这么简单,那还有连续呢?连续几周的签到数是多少啊?连续三天签到,连续三天收场。是这网店吗?他检讲有那么难吗?啊,就没有那么难,但是呢,一样,你没说坑坑洼洼的说出来,昨天就有个同学重新面试,就这情况,他说我把这东西都说出来了。但是啊,我一听他这个录音呢,那真是断断续续,断断续续说了五分钟啊,说出来五六个指标,平均一分钟说一个指标,那你想想你做了一个三年成绩员,然后天天在算的指标,而且你还想的这个非常慢,那是不可能的,对吧。
07:09
OK,所以说你们其实最怕的就是些别的,让你敲这代码,贼六啊,你隐藏的溜多了。但是就这些东西啊,其实你比它差啊,一定要练出来好,那下看这个呢,是首先这些点是从DWD层。12张表对吧?嗯,12秒这启度表啊,剩下是一个新种事件,那这十二十二张表在DW层,我们就要对它进行进一步的聚合啊,形成聚合,那聚合的话,首先是有每日活跃设备笔记,每周活跃,每月活跃,还有每日新增,每日留存。那制定了这么多宽表,目的什么呢?为了在ad上直接算出结果?
08:00
这个宽表层就属于轻度镜头,准备好所有的数据啊,在这边的时候基本上就是一个count下来就把结果拿到了。因为他们是按天进行了一个最多啊,最后看得清这做数据啊,领导关心的就是你到底是每天啊十个新增,嗯还是100个新增,就是一个数,那C1怎么算的什么关系。之后呢就是ADS层,ADS层呢就是为各种报表提供数据呢,那首先这些呢,就是上一层也是D达S层准备的就是五张分表。那第五啥放面。我们就得出来。具体的日、周、月设备的活跃日新增还有日留存以及用户留存率。啊,这么多指标分算出就说一层每一层去做每一层的事啊,分工非常明确。定位bug也非常容易好,这就是整个这个书仓啊,或者造成初步有个印象,后面的话,我们就会在这里面去具体的去实践一下这个受商的一个搭建啊。
我来说两句