00:00
好,第二章第二个文档呢,我们目前为止呢,就全部都做完了,那现在在大家的脑海当中应该是这样的感觉,好像什么也没记住,因为学了一堆东西啊,在脑海中没有停留留下任何那个印象,但是你要说你这个不懂呢,我可能还理解,你要是让我敲呢,或者是让我去把这个第二章的所有内容复入出来,根本就复入出来啊,应该是这种状态是算是正常的,那么来看一下其实我们第二个文档,我们到底做了什么事。啊,就这么几件事,记住就行了。那么来看第一件事啊,大家可以说数层分几层?每一层做什么事?为什么这样?问题分几层?四成分别是OD DW d dws ADS,好、NDS负责什么事?保持保持数据原貌,不做任何修改,DWD数据清,数据清晰啊数据清晰啊,好,DWS数据为种轻度聚合,DNS为报表提供数据的,OK,就这么简单,那好,那接下来还会面要问你这个have做了哪些优化,其实其中的一个优化就是换了它的引擎啊,换成T,那T有什么优势?
01:24
它是基于内存的,减少了磁盘过程,同时还优化了这个计算的过程过程,对吧?OK,那还有他会问,在项目过程当中自定义没自定义过udf和UDTF。自定义过肯定是,那分别用它们做什么了?自定义udf解决什么问题,解析公告字段,那自定义UDTF解决什么问题,事件字段对吧?啊事件字的解析,那他还会问,那么系统有函数有解析均值函数,为什么还用自定义u.M模具的件。
02:06
可以自定义输出。我可以定位到错误日志,把它记录下来,是这样吗?呃,方便我们去调试啊。好,他还会问自定义udf的步骤。定义一个类继承udf重写里面的EY0A的方法,OK,那他还会问自定义UDTF的步骤,另一个类继承30平的UDGF重写里面三杠方法,初始化club,还有一个process,那在初始化方法里面做了什么事?定义输出参数的名称和类型,那么在process里面做什么事?啊,因为它是一进多出啊,把这个OBS,比如说事件传进来,这个事件本身它就是一个金身数组,那我们就用了一个阶身数组对象,循环变对这个阶数组对象,然后依次取出数组当中的一个事件,那从这个事件当中取出两个值,分别是事件的名称和事件的内容啊,然后通过forward写出去对吧?啊所以问OK,好,那下边继续之后就是直奔业务了啊,那边出来就会问你分析过哪些指标,那对于你们来说分析过啊,这里面有包括用户活跃,用户新增啊,流存沉默,本周回流,刘失连续三周活跃,最近七天连续活跃。
03:50
啊,至少是有这么多指标,当然还可以进行一个扩展,那他也会问,那你们的用户活跃是怎么分析的。
04:00
你给我说说思路。用户活跃本质是什么?就是在启动日志当中。设备ID啊,出现的是什啊,不同的啊,确实要需求啊不同设备ID出现的是什是吧?本质不就是在使用日志当中吗?我们查的就是这个MID好,那下面他又会问,那你如何分析的用户做是新增,新增是怎么判断的是活跃表却life呢?照新增表切新增点的ID没到,那就是新征。啊,接着看OK,那他还会问。留存用户,你们怎么分析的?啊,那留存假如说一天留存,那就是比如说这个2月10号这一天的新增用户在2月11号。
05:04
留存下来多少?那队长说呢?那它就是首先得是2月10号的新增,切是2月11号的活跃,那就用引是吧,啊加一下就行了,但是只是这个外条件里面新增的日期是2月10号,活跃的日期是二月号啊,就是日期的一个差别完事,那么如果算的是这个用户留存率。啊,算什么什么率,那就是相除谁除以谁,那么分子就是刚才算的流程,用户分母就是前一天的新增,那么新增刚才我说过对吧,活跃去招引新增,然后新增ID为空,那就是那天的新增。本质是在这就可以了,好,那下面来看如何来统计分析沉默用户啊。
06:05
什么用户是什么条件叫成用户啊,只在第一次启动的时候登陆网啊,然后在最近的七天都没有登陆过。那好,那这里面呢,其实是先对这个设备ID对日活表进行一个分种去虫啊驱虫,因为这是日活嘛,啊七天有个七天在线叫叫起虫,然后呢是登陆次数为一啊当是为一,那就是还count里面等于一切在一周前,那这个日期就可以判断小于等于一周之前。啊,这种完事,这就是情况用户,比如说面试官,有的时候啊,比个别面试官他要求你现场去写这个思Q代码,有些面试官只需要去说一下思路就OK了,而且思对就行了,啊就这么简单,但是你要思路都没说出来,那就看了。
07:03
那还有如何来分析本周回流用户?本周会有。那这里面其实涉及到是本周活跃减去本周新增,再减去上周的活跃啊,遇到这种问题一定是把复杂问题简单化,先把它拆分出几块的,然后再做,那就是本周活跃去life的噪音,本周新增life的噪,上周活跃,然后外条件本周新增的ID为,上周活跃的为。完了,这就是会了。好,那再来分析流失用户。那最简单了,就是七天内没有登陆过啊,只不过呢,这里面用到的是日活表啊,那又涉一到七天,首先进行了一步分组去除,然后七天没什么过啊,还有分条件七天好,然后下面分析,你最近连续三周不用户,那他要求每一周至少都得登录一次。
08:18
那我们强调的用的就是中国啊,我们用中国去统计。按照他去分布,然后统计中国出现的次数,比如哈看它等于三,那他就是最近连续三周活跃。啊,是这么一个看法啊好,那最后一个分析最近七天连续三天活跃的用户数。啊,那这个步骤呢,就比较多一些,那首先第一步查询出最近七天活跃的用户,并对这个用户按照日期进行排序。然后计算用户活跃日期和排名之间的差值,这里面涉及到等差数列减等差数列,如果都是等差数列相减,那它的差值应该是一样的。
09:08
啊,那只要它连续差值就应该相等,那不连续那就说明啊不相等啊不相等啊,那这里面然后对用对同用户及差值分组统计差值的个数,那我们要求连续三天,那就大于三啊,大于三好将差值相同个数大于三的取出啊,那这里面其实取出完之后还要加一个取出,再加一步去除就OK了啊。妈就去。可以。好,那这样就OK了,所以说你咱们看着做了好多好多张表啊,分析过好多好多指标,最终留下的在你脑海当中应该就是这些结论。啊,也就说那些东西,你可能呃字段啊,什么东西记不太住,没关系,但是每一个指标它的核心思想是怎么分析来的,这几句话记住,比如说你只需要花个十分钟把这些内容搞定,那上面这些就搞定了。
10:14
那下面这些内容,如果你想进一步的深入研究看。整个文档当中所有涉及到的层次表,啊,这是以前的哈,你希我希望在你的脑海中有这么一张图。那这么一张图代表这是学生画的啊,不是我画的啊,每个班都有学生去总结这张图,不知道咱班有没有,这班有没有,现在举下手来。哎,你看大哥就是大哥,这就是未来的需求,对不对,稳稳的以后得好好留行,留行吧,中午的话是得吃个饭,晚上是得按个脚啊啥的。大哥就业的不一样啊,而且你看人家提前把所有指标都已经回完了,这就是这个态度啊,好,那么来看一下,有这张图之后,你会在你那里头就会蹦出这样的想法,Ods层准确来说就两张点。
11:07
而且每张表的字段取一个就是一个string对吧?啊,就是一个string啊,因为它的特点就是只接收数据原貌,不做任何修改,那到了DWD层就涉及到对数据的解析,那解析呢分两类,一类呢是启动日志,一类呢是事间日志啊时间日志,那这个呢是以前的中间表,那启动日志直接我就可以解析成对应的启动表直接可以解析。那么瞬间表呢,这块呢,因为它的结构比较复杂,我们创建了一个中间表啊,然后用到了自定义udf和UDDF。然后把它翻译成11张表,对了。就没了啊,那用到了还用到了一个钙的杰森。对,也是这些点,那就是到了DW层,把所有的数据按照表的结构准备好了,那剩下的DW层开始分析各种指标。
12:13
那我昨天分析的指标包括这么几个,热活,周活,月活。嗯。然后还分析了日新增日流水。对吧,啊这么多,然后后面这些就是ADS,具体我们算的指标,那串的指标包括统计日,周月,首月。统计日新增统截止到当前的用户留存数,还有用户留存率表,准确来说还有还会加上今天的,比如说沉默用户,流失用户啊,还有什么连续活跃了,对吧?啊,还有这个连续七天内三次活跃了,是不是都在ADS层啊,因为他们用到的是不是都是DWS层以前的表啊。
13:06
啊,这就是见中间点的作用,见这个宽点的一个作用。也也说这个表如果建的好的话,后面我分析这些指标就可以共用前边的量啊,目前的量啊,啊,那希望大家把这个部分啊,这是另一半同学做的。所以说最终你需要对这个文档需要掌握的内容就这些。那下一个这个15.2呢,属于这个技术范畴的,就还有相关内容啊,那我们下节课再大家复习这个啊。
我来说两句