00:00
那接下来我们看曝光日表啊,老规矩还是先看表结构,分别是行列和分区啊,那曝光日表当中每行数据存储的应该是什么呢?啊,那跟前面其实思路是一样的啊,曝光日表当中我应该存储的也是明细数据对吧?那对于曝光来说,最明细的数据是不是就是一条曝光记录对吧?所以曝光日表当中每行数据对应的是一个曝光记录。OK,这是它的行,那接下来我们再来看它的列啊,列也就是他的字段对吧?啊,那曝光日表当中,那它应该包含哪些字段呢?啊,那首先我们需要先明确曝光日表的数据应该来自于哪种结构的日志。对吧?哪种结构啊,是不是肯定也是页面买点日这种结构,那我们来观察一下啊,那这个日志当中是不是有一个Dis place字段呀,对吧?那这个字段后边它的数据也是一个数组,没错吧?那这个数组当中是不是保存的就是一个一个的曝光记录对吧?每个元素对应的就是一个曝光记录啊,那所以说在曝光日表当中是不是应该包含这些曝光记录的字段呀?啊叭如说曝光类型,曝光对象啊,曝光位置,曝光次序等等等等,是不是都得包含在曝光日表当中啊,那除此之外,那common,也就是公共字段也要包含在曝光日表当中,因为它存储的是一些描述性信息啊,那再有呢,就是咱这个配置字段了啊,那由于呃,配置字段呢,相当于也是对曝光的一个描述,对吧,那咱得知道这个曝光是在哪个页面去曝光的,没错吧?啊,那这个就是我们最终确定下来的啊,这个曝光日表的字段啊,那最终我们总结一下啊,这里边应该包含。
01:39
来往下看啊,应该包含什么呢?这里边应该包含啊,公共信息,页面信息以及曝光信息啊,这就是他的列啊,那最后我们再来明确一下它的分区是如何规划的,那它的分区呢,和我们前面每张表的分区规划都相同,对吧?按天分区,每天的分区当中存储当天诶产生的曝光日志就OK了。
02:02
啊,OK,那接下来我们再把它的建表语序拿出来啊,咱们仔细的看一下来,CTRLC。好,放到disc当中来,我们一起看一下啊,那首先我们先看这儿表明dwd display log曝光日表对吧?那接下来再往下走看一下它的字段啊,那首先从error code开始到这个,呃,Version code,这都来自于common对吧?那从during time开始到TS,是不是都来自于配置啊?再往后这个什么display type item等等等等,这些是不是都是曝字段呀?啊,OK,那这就是曝光日表的具体字段啊好,那接下来我们再来看一下它的数据存储啊,那同样是帕会列存储加上拉泽罗压缩啊好,这就是曝光日表的见表语句。那紧接着我们来分析一下它的数据装载啊,那实际上曝光日表啊,跟我们前面讲的那个动作日表其实很像,对吧?那他俩的装载逻辑呢,其实也是一样的啊,那现在我们来看一下文档当中是如何描述的,找到曝光日表,然后往上一点啊,来咱看这啊,那曝光日表的解析思路呢,就是先从ods log表当中把包含display字段的日志过滤出来。
03:13
啊,然后呢,使用UDTF函数啊进行一个一进多出的操作,那当然这次我们一进多出的是什么呀?诶是这个曝光数组,而不是前面的那个动作数组了,对吧?啊,那OK,那咱把这个数组啊进行一个所谓的炸裂操作之后呢,那在使用get杰森object函数去解析每个字段就可以了。啊,那所以这个circle呢,跟刚才我们写的动作日表的circle很像很像啊,那在这呢,我们就不再一点点写了,哎,把这个最终结果拿出来,我们一起看一下,来往下走。放到data gra当中啊,那这个就是我们这张表的数据装载。来CTRV大家一起看一下啊,那首先我们先看从哪取顺,是不是从ods log表当中取数对吧?然后呢,分区是6月14号的分区,那过滤条件呢,是get,杰son OB line完之后呢,Place啊,Is not对吧?那好,那现在我们就能够把14号的啊,包含曝光信息的这种日志给过滤出来了,对吧?那接下来我们要做的事呢?啊,就是进行一个一进多出的操作,Let re pro的瑞,注意啊,这次我们炸裂的是display这个数组啊对吧?后边起两个别名,那接下来我们要做的事呢,就是逐个获取我们所需的字段就行了,那这里边呢,有些字段是从LA里边获取的,有些呢是从display里边获取的啊跟刚才其实一致啊,都获取完毕之后呢,就可以使用insert orright这个语句,将最终的结果给它写到DW DD display的log表里边了,那最后别忘了分区partition dt等于202006杠幺四啊好,那现在这个circle呢,我们先暂不执行啊。
04:54
插入先不执行啊,我们先把这个select执行一下,看一看这个结果能不能查出来啊,那什么时候装载,那后续我们再使用脚本统一的进行装载啊,Select一下啊。
05:05
好,结果已经出来了,那大家观察一下,那我们现在已经把每个字段是不是都顺利的解析出来了呀,对吧?哎,那现在说明我们的数据装载的逻辑应该是没有问题的啊OK,那这就是啊,DWD层的曝光日表的数据装载。
我来说两句