00:00
好,那接下来我们看启动表的数据装载啊,还是先来看一下它每天的数据走向是什么样的啊,那由于呃,DWD层这几张日表的数据走向都是相同的啊,所以在这儿我们统一的看一下啊,点开这个PPT,嗯,大家看一下啊,那这块指代的就是ODI层的日表,那下面呢,指代的就是DWD层的每张日表啊OK,假定咱现在的日期呢,就是2020年6月14号,那也就是出藏的第一天对吧?那我们现在看一下能从o Dis层获取什么数据。啊,那从ods层是不是能够获取到14号产生的用户行为数据啊,对吧?那我们要做的呢?哎,就是从诶这个ods层14号的分区当中去获取我们所需要的日志数据啊,那拿到之后呢,我们需要对日志进行解析啊,解析完毕之后呢,需要放到DWD层对应的日志表当天的分区当中啊,也就是这样的一个操作。那这是第一天,那接下来我们看到了第二天之后,我们要怎么做啊,第二天我们能拿到什么数据呢?诶拿到的就是15号产生的用户行为数据啊,那所以说我们要做的操作呢,实际上跟第一天是相同的啊,从十五二的分区当中获取我们所需的日志进行相应的处理,处理完之后呢,放到DWD层对应日志表当天的分区当中。
01:19
啊,后续每天都是这样的啊OK,那这就是DWD层日表的数据走向啊,你会发现啊,实际上它的第一天和后续每天的装载逻辑呢,基本上是相同的啊OK,那现在呃,我们把这个关了啊,那接下来我们就可以开始去编写启动日表的装载语句了啊OK,我们打开gra啊,首先我们先明确啊,咱们的数据来源是哪啊,那肯定是ods log对吧?那直接select from Oslo,那当然了,我需要把这一天的数据过滤出来,对吧?假电今天是呃,6月14号啊,那就2020杠零六杠幺四,那OK,那过滤出来这个分区之后,那我们还需要再做一个额外的过滤呢,那肯定是需要的,为什么?你想想啊,因为这张表当中它除了有启动日志,是不是还有页面日志啊对吧?那我们都知道启动日志表的数据肯定来自于启动日志,对吧。
02:13
啊,那所以说这时候我们需要把页面日志给它过滤掉啊,那在这儿怎么能够把这个页面日志过滤掉呢。啊,那你要想过滤掉,那是不是首先我们得先去看一看这两个日志,它有什么不同点呀,对吧?啊,那现在咱们去看一下。来,往上走。来,再往上走。好,来到这个位置,大家一起看一下啊,那我们要获取的是这种日志对吧?那咱们需要把上面这种日志过滤掉啊,那他俩有啥不同点啊,很简单,那大家注意观察一下啊,启动日表当中有一个特有的字段,是不是start呀,对吧?啊,那我是不是可以尝试着呃,从日志当中去get一下star的字段,对吧?如果能get到我就留下,Get不到我就给它过滤掉啊,那这样一来是不是就能拿到我们所需的启动日志了呀,对吧,其实很简单啊,那咱们怎么去get它呢?诶,很简单,是不是使用get j森object函数就可以了呀,对吧?那现在我们按一下啊,来按and get Jason object,然后把谁放进来,是不是就把这个烂字段放进来就行了,对吧?那接下来我们尝试着获取一下它里边的是不是star的字段呀,S start对吧?啊,那大家都知道啊,这个函数如果我们能获取到啊,这个K对应的Y6,那它就会返回,获取不到它会返回啥呀?获取不到是不是返回now啊对吧?那所以说我们这应该怎么写,是不是应该是is not now?
03:36
没错吧,那这样一来就能拿到我们所有的启动日志了啊OK,那现在我们先尝试着获取一下啊,那这边我们来一个呃,Select星来我们直接执行。啊,大家注意观察,那现在就是我们拿到的所有的启动日志啊,那OK,我们现在粘一个出来啊,来copy一个啊完事之后呢,我们给它格式化一下啊。
04:02
CR位,好,那这就是一个典型的启动日志对吧?诶,大家以定在这儿,好那定那之后我们接下来就可以从启动日志当中依次获取咱们这张表所需要的数据,呃,所需要的字段了,对吧?那怎么去获取啊,那是不是就使用get接s object函数就可以了对吧?那现在我们对照着这个日志去编写一下咱们这个搜QL语句啊,OK,那建表语句咱们所需的字段也拿过来,CTRLCF3,那这个放左边,那这个放右边,那现在我们就开始我调整一下这个布局啊来这个这么放吧,来往下连好,那现在我们就可以选择咱们所学的字段了,首先第一个,那第一个是什么?第一个我们要获取的是error code,对吧?那其实它对应的是不是就是common当中的AR啊对吧?那现在我们直接是不是get杰son object,没错吧,然后把这翻进来,第一个字就是LA对吧,就是那个阶森字符串,那第二个字段呢,诶是不是应该是dollar.com mon,然后点A啊,对吧?那接下来我们再继续那下边的字段是不是都是这。
05:02
获取,那brand对应的就是BA channel对应的就是CH等等等等啊OK,那我们再继续往下走。直到哪啊,直到这个啊,那这些字段都是来于common,那从始到open是不是来自于S对吧?那现在我们如果要想从start里边应该怎么写呀,是不是get杰森。Object,然后LA后边来一个是不是dollar.start然后最后来一个,比如说entry entry是不是就完事了,就这样获取啊,那最后一个字TS,那就是get杰son object完里边呢,来一个LA,那后边写啥呀?是不是应该是dollar.ts。没错吧,那这样一来,我们就按照这种写法把所有字段都拿出来啊,那我们就算是写完了啊,其实很简单啊,在这儿呢,我就不再一个写了,哎,我们拿一下文档当中的结果啊,哎,往下翻。找到这个状态,语句就是这些。哎,CTRLC拿过来放到我们的data gra当中,把我写的这个覆盖一下吧,啊好了,那这就是我们最完整的一个来语句,那现在我们先查询一下啊,看看能不能拿到咱们所需的结果,好,大家看啊,这些字段是不是已经被解析出来了啊,OK,这个还是比较简单的啊,那完之后呢,别忘了最终我们需要将数是写入d part2020啊,然后杠零六杠幺四。
06:33
啊,没错吧,来这就是呃,Dwd starlock,也就是启动日志表的数据装载啊,OK,大家注意一下啊,由于这张表它的每日装载和首日装载的逻辑是相同的,那在这了,我们写一个就可以了。
我来说两句