温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,那接下来我们看第一张日表,启动日表啊,那老规矩,我们先来分析一下它的表结构啊,那分别是分析它的行列还有分区对吧?那我们先看行啊,那启动日表当中每行数据指代的应该是什么呢?啊,OK,那由于DWD层是明细数据层对吧?那所以说对于启动来说,最明细的数据是不是就是一次启动对吧?一次启动记录已经是原子性的了,已经是不可再拆分的了,那所以说启动日表当中每行数据就是一次或者一个启动记录,啊OK,这是行,那接下来我们再来看列啊,那这张表当中啊,它的字段应该有哪些呢?来我们分析一下啊,那首先先明确一点。启动日表的数据啊,应该来自于哪种结构的日志?啊,咱们日志如果按结构划分可以分为两类,对吧,前面看了一种是呃,页面日志,一种是诶启动日志对吧?那咱们下边这个启动日志表的数据是不是肯定来自于启动日志啊,对吧?OK,那那所以说我们其实就可以根据这个启动日志啊去决定,诶我们的启动日志表当中应该包含哪些字段啊,没错吧,那接下来咱们看一下啊,那首先start,诶这个字段当中的相关信息是必须得包含在启动日表当中。
01:21
没错吧,包括启动方式,包括加载时间啊,包括开屏广告的相关信息啊等等等等,那还有谁呢?下边这个TSTS是不是也得包含在启动当中啊,因为TS呢,指的是启动时间,对吧?那除了这些还要不要包含其他信息呢?那当然要了啊,这个common,也就是公共字段当中的信息也得包含在启动日表当中。啊,为什么,你想一想啊。因为common字段当中保存的是不是都是一些设备用户或者是什么地理环境等等的这样的这样的一些什么呀,这样的一些描述性信息,对吧,啊没错吧,那如果说没有这些描述信息,那我们怎么知道是谁在什么时候什么地点启动了,诶咱们这个应用呢。
02:07
没错吧,那所以说这些描述性信息呢,也要包含在启动日表当中啊,所以说最终我们就确定下来了啊,那启动日表当中应该包含的字段是哪些呀?啊,第一个啊,Common里边的这些字段,还有start里边的这些字段,还有最后一个TS啊,那要不要包含在启动日表当中呢?这个不需要,为什么,因为我们是不是有一有有一张表叫做错误日志表,专门用来保存错误信息啊。啊,是这样的,这个要注意,那最终哎,我们就确定下来了,那启动日表当中的字段包含common start,还有TS。这是咱们需要去注意的,OK,那接下来呢,我们再来看一下啊,就是它的这个分区规划是什么样的啊,那启动日表呢,肯定要分区对吧?那按什么分区呢?在这儿呢,我们就按照日期啊,按天分区,一天一个分区啊,那每天的分区里边存放什么数据呢?每天的分区当中就存放当天新增的启动日志,OK,那这就是这张表的分区规划,好,那接下来我们把它的建表语句拿出来啊,再仔细的看一下啊,来,拿过来。
03:14
CTRLC放到笔记当中,好,这就是启动日志表的建表语句啊,首先看一下表名字啊,叫做此dwd start log对吧?啊,那接下来往下走,看一下它这个具体的字段啊,那从这儿第一个字段开始到version code,这几个字段呢,都来自于启动日志里边的common字段啊,那再往下走,从NT开始到open ad SK Ms啊,那这个来自于启动当中的start字段,那这TS呢,就是哎,启动日志当中的TS字段。OK,那这就是它的字段啊,OK,那最后我们再来看一下它的这个数据的存储啊,那同样是列存储加上拉泽罗压缩啊,这就是啊,启动日表的建表语句。
我来说两句