00:00
好,那接下来我们看页面日表啊,那老规矩先分析表结构对吧,分别是行列和分区啊,那我们现在先看行啊,那也就是页面日表当中每行数据指代的是什么?啊,那考虑到DWD层要保存明细数据这一点啊,那所以说对于页面浏览来说,最明细的数据啊,其实就是一次页面访问记录对吧?那所以说啊,最终明确下来,页面日表当中每行数据指代的就是一个页面访问记录。啊,OK,那咱们继续啊,那接下来我们看列列呢,也就是他的字段有哪些对吧?那我们先分析一下啊呃,页面日表当中的数据主要来自于哪种结构的日志啊,那前面咱们分析过对吧?那日志呢,一共俩结构,一个是页面买点日志,一个是启动志对吧?那页面浏览日志是不是肯定是来自于这种结构啊。没错吧,那接下来我们就看一下,那这种结构当中都有哪些字段啊,那这个结构当中我们看啊,有common字段啊,有actions,有display啊,有配置,有error,有TS对吧?啊,那哪些字段应该包含在页面日志表当中呢?
01:12
啊,那配置字段是不是肯定得包含在里边啊?没错吧?啊,那同样的道理,Common当中的这些描述信息是不是也得包含在配置,也就是页面表当中啊,没错吧?那actions还有display要不要出现在页面日表当中呢?诶,这个咱就不需要了,为啥呀,因为咱们有专门专门的日志,这个动作日表,还有曝光日表,去存储他们这些数据。啊,OK,那所以说最终我们就明确下来啊,页面当中应该包含common字段啊,还有配置字段,那当然最下边这个TS也应该包含在里边,TS指的是跳入页面的时间啊,OK,那这就是我们页面日志表的哎,这个列啊,咱们就定下来了,那OK,那接下来再说一下页面日表的分区规划啊,那页面日表的分区规划呢,很简单啊,按天分区啊,每天的分区当中存储当天新增的页面日志就OK了。
02:10
那好,那这就是页面日志的表结构啊,OK,那接下来我们再把它的建表语句拿出来,详细的去看一下啊,CTRLC。好,放到笔记当中。来大家一起看一下啊呃,首先这张表的表名叫做DWD配置log,那接下来往下看,看一下它的字段啊,那字段从area code到version code,那这都是啥呀?这不都来自于common字段,属于一些描述性的信息对吧?那接下来往下走,从during time到source type是不是都来自于配置字段?没错吧?那那再往下走,诶,这个TS指的是跳入页面的时间啊OK,这就是这张表格哎,字段啊,那最后我们再来看一下啊,它的这个数据的存储,那数据存储呢,同样是帕亏列式存储加上拉斯罗压缩啊OK,这就是页面日表的见表语句。
03:00
好,那接下来我们紧接着就讲一下这张表的数据装载啊,那这张表的装载逻辑实际上和第一张日表,也就是启动日表的装载逻辑啊是相同的啊,那我们来看一下具体怎么做啊,打开文档啊,这很简单啊,和前面一样,我们需要先从ods log当中拿到我们所需的这个页面,买点日志,对吧?那具体怎么做呢?啊,就是找一下包含配置字段的日志。没错吧,因为是不是只有页面买点日当中才包含配置字段呀?啊OK,那咱们根据这个配置字段将我们所需的页面日志过滤出来,过滤出来之后剩下事就简单了,是不是使用get杰森object函数逐个获取我们所需的字段呀,那最终再把数据诶写到DWD配置log这张表呢?诶当天的分区当中就OK了。啊,很简单啊,那在这呢,我们就不再手写circle了啊,把这个结果拿出来,我们一起来看一下,其实很简单啊。来拿过来来,我们一起来看一下啊,CTRLV啊这个呢,就是DWD配置log页面日表的装载语句,我们一起来看一下啊,那首先先明确从哪去读取数据,是不是从ods log表当中对吧?那获取14号这个分区的数据,然后呢,尝试获取一下配置字段啊,能获取到那我们就留下,哎,获取不到哎就给它给过滤掉,那所以说后边应该是get object line配置is not now啊完事之后呢,我们就呃按照呃所需的要求逐个获取每个字段就可以了。
04:29
啊,那最终啊,使用insert over right把数据写到DWD配置log的62020年6月14号的分区当中,啊,那这就是页面日表的装载逻辑啊,OK,那这张表我们就结束了。
我来说两句