00:00
好,接下来呢,我们来看一下ODI层,那OD层呢,里面其实分了两块的数据,再来看一下,因为这里面呢,Date gmail DB和log,这里面是来源两部分数据,那我们要分别处理啊,因为他们的数据格式都不一样,一个呢是DB,一个是log,那我们先来处理这个log里面的,那log里面不知道大家还是否记得哈,这里面有哪些数据。哎,一共呢有两张表,一张呢是start表,一张是event,只不过呢,Event里面又嵌套了是一张表,对吧?啊有什么这个商品,点击商品列表,商品详情,广告,点赞评论收藏等等这些表哈,因为这里面包含很多。行,那我们就先来解决这两张表的问题哈。好,那就说在这个OD,我们先处理的是三点,二是ods层用户行为数据的一个处理,那用户行为里面有两张表,一张是ods diallo,一张是odslo。像这个starlock呢,这里面就是单阶森对吧,外层就是一个单接森结构,直接放在这就能够解析,那像这个事件表里面呢,事件表里面比较复杂,哎,里面包含了这里面有11张啊十张。
01:08
对吧,十张表在里面。你需要一个一个的,呃,后续的一个解析,那本次在ods层其实没事儿,因为ods层啊,它是保持数据源貌,不做任何修改。那不是语法,那只要把它倒过来就行了,你是load加载过来,加载到have里面,这事就成了。啊就成了哈,行,那我看怎么去做哈,怎么去做。首先呢是创建启动日志表,也就说你既然把想把这个数据加载到数仓的OD层的某一个表里面,那你得有这个表啊。对吧,你首先得有这个表。那有列表,你看这是原始数据。那再来回顾一下,我们这里也有原首句。看看原主义咋样啊?
02:00
呀,我这删掉了的生成一些。随便生成一些啊。好,那你看一下这里面就有对应的数据啊,第一条就是启动日志。对吧,哎,启动日志就长这样,那保持数据原貌,不做任何修改,那他过来的话,我认为是什么呢?这就是一条数据啊。你就是一个string,你看着这里面知道很多,我就把你当一个string直接加载过来。就可以了。啊,有同学说你不对啊,这凯哥你得把这个里面一个一个字段解析出来啊,哎,它解析的过程不会在OD这块去做,解析的过程会在你后面的DWD。DWD层是把所有的数据整理好,什么这个数据清洗啊,啊维度退化呀,都是在DWD层做ods上保持数据框,那也就是说我建一张表,这个字段只有一个就行了,是一个实对类型直接加载过来。
03:02
就这么简单。那我们来看一下啊,具体的操作,这张表打开吗。行传过来的原始数据长这样,那首先呢,如果创建表已经存在,需要这个先删除表,这属于这个建表的一个规范啊,你说上来你先删,你先别建,你说job table if这个啊,如果它存在的话,先把它删掉。啊,然后你再去建之后呢,是创建一张外部表。那就是create create就是外部对吧?啊,加上一个外部,然后表,然后表明的,那后面这个呢,就是字段,那字段里面我就认为这是一个字段,你是一个string。嗯,就是一个神机。那就是一个字往里放就OK了。嗯,简单不做任何修改嘛,然后呢,该表呢,要按照日期去建分区表。对吧,啊,咱说过啊,传过来的数据每天一份,每天一份,那每天一份的话,就要按每天去建分区,那这个呢,就是DT啊日后呢,你可以传进来什么这个2020年杠零三杠幺零。
04:10
那这个呢,就是当前这天的数据的一个时间。巴黎半。啊,后面呢,咱们这个传过来数据啊,是采用压缩的,对吧,你上传到ACD上,它的数据本身就是L拉住了压缩,那你是漏的,漏的相当于啥呀,剪切呀。那你这边是数据是拉丝螺,那你过来的数据肯定也得是拉丝螺,对吧,那拉你怎么存储呢?接表的时候呢。哎,这里面这是官方的一个have首胜要求的叫start。啊,存储什么呢?Input of MU,存储成map right depra、拉周罗t fair。啊,这就是输入input,读数据的时候按照拉德罗的格式进行读。那你看他输出呢。Outp是org阿尔法及have啊,什么QI,然后你发现它输出的时候就是正常的text,这个同学能不能理解呢?你原始数据拉着螺在这放呢,你去读这个数据,你写个mmr,你怎么写呢?
05:15
你怎么写的,你说这个输入的这个地方必须得支持拉罗的一个input,你可以写成拉罗input。对吧,嗯,输的,那跟他输出输出有关系吗?输出还有必要再要求是拉吗。没有必要,尤其是我们在控制台要想查看这个数据的时候,我们是不是希望看到的是这种tit格式啊?比如说你在这控台上写了一个啊查询语句,查询这个数据,那它输入端用的就是input拉住了input,那输出端我们希望看到的是T啊。哎,所以说你会发现哦,这个input的时候指定的是拉罗输出的时候呢,是test,哎,是我们用户能够看懂的啊这种文字哈,行,那这个呢,是官方的一个要求,你按照这个格式往上一放就行了啊。
06:02
然后呢,设置数据的一个存储位置,比如说你存储在什么位置,这个呢,我们是按照我们自己的表啊去呃去存储,否则的话后面那数据就乱七八糟了啊,比如说你看我这里面规定了一下存储在warhouse gmail这个书上下面的ods层,Ods层下面的ods start了。这样呢,就会方便你后续的一个管理啊,但是这个路径你可以改哈,改成你想要的这个路径都没问题,但是我们希望的是建径知道它是哪张表的数据。哎,这样去做哈,OK,存储位置行,那这就是呢,创建一张OD的表,这是启动日志的。
我来说两句