00:00
好,那现在呢,我们是把这个dwd base这个log啊已经解析完了,那再往下呢,就是临门一脚了,什么叫临门一脚了呢?你说现在啊,我们已经把。这张表里的数据已经有了,这里面的数据呢,是even name和杰森的形式存在的。表的名字和对应的表的一个接。核心字段,那看一下是不是这样啊。嗯,这个呢,是刚才抓取的一条。从这开始,一直到到这儿。哎,那拿过来看一眼是不是。放在这边吧。放在这面,哎呀。看起来不好看是吧。啊,这里面左左下角有一个格式化啊,一点击格式化,它就格式化了啊,你会发现上面这些呢,都是对应的这个公共字段,然后往下看到吗?这就是每一个阶身嘛,对吧,对应的这个接身数据。
01:06
好,那下面我们就来解析一下。那解析呢,我给大家写一个哈,给大家写一个。首先来看一下这个商品点击列表啊,这个,那这个怎么解析呢。太简单了,来看一下。我们希望呢,把这个dwd base log这里面的数据解析到这里面去,这里面存在啥样的格式呢?上面呢是公共字段,下面这块是具体的时间字段。对吧,时间阶段把它拆分开来拼到这,那怎么拼呢?我们有的数据呢,是dwd base inlo这张表,对吧,我想往你这版本里面插,那插的话上面这个公共字段这一块很容易啊,很容易,因为这里面已经解析好了,已经有了。
02:02
那唯一差的呢,是下面这一块,下面这块呢,由于我们这个base log里面有两个字段,一个呢叫name。一个叫伊文的杰森。哎,首先用这个name卡住,你是要往哪张表里面去插,比如说我这里面卡住呢,它是进这个display,那好,那我就往display里面里面去插,那差的话,第类里面已经固定好了,这里面就有五个字段,那你这块呢,就是get接是传进去对应的K,取出对应的Y流值。就可以了。啊就可以了,那我们来实现一下哈。嗯,实现一下,首先把这个DWD这张表往这一放。就拿到这儿吧,哎,拿到分区这。往左释放,哎,这呢是目标表,我们要目标往这里面去插入,那好,那除了它之外呢,我们要把这个刚才的这个啊,Base这表base log。
03:07
Base even log啊这个呢是他对吧,这是我们的数据。我们已有的数据在这想往这张表里面去插,然后呢,这面左右侧呢,这面去写对应的这个业务逻辑啊,是这样的一个情况啊,这样的情况行吧,那放大一下啊,首先我要往这里面插,那怎么写呢?Ner啊,Insert over right。像这张表里面唱,那还是先看一下这张表是不是分区表PRT哎啊partan是分期表,那就给他一个分区值,那我们都是按照这个年月日是吧?啊2020年杠零三杠幺。
04:04
幺零,哎,像这张表里面插入数据,那这张表里面插入数据,数据哪来的。Select from from哪张表呢?哎,From下面这张表。来一趟对吧,然后外置条件,外置条件首先是DTDT要匹配上2020杠零三杠幺零啊,然后还加上一个an的条件,And的什么呢。哎,这个就很关键了哈,很关键and,这里面有一个。啊,Even name even the name一定得跟这里面你这个知道这个表名字配上对吧?哎,我们这几个表面其实是这个display啊,那个en那个值还记得那个en吗?啊,那把它拿过来,嗯,And它。等于等于。
05:03
是吧,我看啊。这得确认,得复制过来哈,万一写错了就白判断了。嗯,这个是商品点击。这块啊,确认是确认一下它是这个display啊display每张表呢,都有那个en对吧,封装时候都有那个en,把它拿回来。Display好,那这块确认无误的话,那上面的话首先一个一个去导啊,你这上面有mind,那我这里面就有mind呗,把mind倒过来对吧,慢慢那你上面有什么呢?你上面这个UID,你需要UID,那我就给你个UIDU有吗?ID。哎,那就是这就是UID啊,U转ID啊,一个一个复制过去啊,具体这个复制工作我就不复制了啊,那到最后这块到哪一块呢?呃,到这块你说上面这个公共字段,如果都结束了,比如说这个LT拿过来。
06:02
都结束之后,那下面这块怎么写呢。下边这块你看有没有even name啊,LT结束之后在这呢,LTLT结束之后就是对应的一个一个知道它并没有对应的呀了,已经在这用完了,就是用它来过滤的,过滤是哪个事,那下这块怎么来呢。嗯,我这里面是一个杰森。它是一个杰森,对不对啊杰森,那它存的是杰森,那就用get杰森o j object用它来处理。那你传进谁呢?把它进去。它不就是个阶层吗?那从这个阶身里面我想取谁呢?哎,Dollar符。Dollar符,第2DOLLAR符代表的是这个even的杰,那我想取出来的是对应的这个action,那这个action怎么取来看一下,看一下这里面这个呢,是那个对应的那个even杰森,Even杰森里面我想取那个action,我想取它。
07:07
取的话你先点到这个。啊,因为它的外层是这是K。点到KV之后再K是这个action啊,那你说你这块写代码的时候就需要什么呢?嗯,这需要点上KV,然后再点,再点对应的这个X。这样的话才能把这个action这个值取出来。嗯,这样去取。啊,你说这块呢,就是你传进去接身,然后呢,这里面再就是接成这个本体,那之后呢,先点一个K取出Y流,然后再点个K,再把这个里面值取出来啊这样呢去一点点去写对吧?啊一点点写行,那这个具体内容我拿过来哈。你说这块你看用这个Dollar符点TV,然后点action,就把这个具体的这个action点出来了哈,嗯,然后后面那个是several time啊,后面这个没啥了,拿过来。
08:13
OK,拿下这是整个这一套值,那这套值呢,我们来试验一下啊,试验一下那首先呢,你要创建这张表啊,这张表我们还没创建呢哈。你说创建这张表。创建,创建完之后呢,向里面去插入数据。那我插一下试试啊。看有没有笔误啊。没问题啊啊一变成不容易。所以这个不是特别难啊,不是特别难啊,但是呢,确实需要你去动动了,那写查一下select星from往哪张表呢?刚才往这张表里面插入数据了,比如说往这里面插入数据了,查一下啊,一定要确认查一下。
09:13
嗯,Limit吧,直接limit吧,有没有好,那这样呢,就能查出来对应的这个数据啊,说明我这个解析呢,没有任何问题哈。好,那这张表是这样的,那其他的像这个这里面还有11张表啊,其实这个操作方式呢,都是一样的,我再来看一下第二张啊。商品详情表啊,商品详情表呢,上面这块呢,是对应的这个公共字段,下面是详情表的一个时间字段往这一放。啊,往这一放,那这个建表语句能不能拿过来执行一下。好,建表语句结束之后,那接下来呢,仍然是向里面去插入数据,还是insert over right table往前置里面插,然后分区表,那中间这块呢,仍然是这个公共字段,对吧,公共字段,然后下面这块呢,是这个事件字段,每一个K的啊,KV的一个取,取出用这个get JA身object主要用它。
10:12
啊,把这个的阶传进去啊,然后取出K。的值,那下面这块呢,是用这个,呃,这个name卡住是哪一张表,比如说用它进行一个过滤。哎,跟上面那个形式啊,是一模一样的哈,那这里面我就不再写了啊,你们呢,我建议你们写个三个之后可以不再写了哈,你别上来就写一个啊,我这写了很多遍了哈,我再写的话是浪费时间。你至少要写这个三个之后。我允许你不写啊,因为写太多了,意义也不太大,但是三个的话还是要的啊。准备查询一下。查询一下结果啊,证明一下没问题,没问题的话,我继续快速往下搞了啊列表。
11:05
列表之后呢,然后向里面插入数据啊,具体里面这些细节都是一样的啊,不再赘述。然后继续。这就是体力活了。呃,你们去企业的话,遇到这种机会的这个概率啊,占1%个班有十个左右吧,比如从零到一的这个学生呢,会遇到这种情况,那你班的话人人数比较少啊,应该到不了十个啊,我觉得这个四五个同学吧,未来会有机会去创建这么多张表行,那这个没问题。嗯,那再往下广告表。能有机会做这个的都是架构师啊。也就是说这个数仓从零开始的时候,你才有机会去做这个。呃,如果不是这个从零开始,你是完全没有机会的。
12:12
查一下OK,这里面对应的值就拿到了,然后再往下呢,这个消息表。然后向里面插入数据。大家能感觉到哈,这么来回插,这太慢了,在起夜的时候。这么插起来。太浪费时间,那如果浪费时间的话,我们就需要把它做成对应的脚本,对吧?哎,做成对应的脚本啊。道理是一样的。查一下没问题之后呢,后台活跃。这里面插入数据。
13:17
哎,这里面数据也有啊,再往下走啊评论表。啊,大家粘的时候啊,这个后期啊,这个不要粘错了啊,别着急,慢慢来。稳一点。别把一些表给我漏了哈。OK。然后再往下快了哈,胜利在望。我之前这两天看那个武汉呢,已经那个。
14:03
嗯,各个通道是四四月八号吧,就已经解封了,就可以这个畅通无阻了。还挺好的。看来这个疫情会很快。估计应该在四月底五月初。希望尽快啊,我希望恨不得明天就能回到线下。这还是非常爽。来点赞。嗯,点赞导入数据。查询OK啊,目前呢,都这个都是非常正确的哈。目前没有什么问题。
15:03
OK,嗯,再往下呢,是继续导入数据最后一张表了哈,太爽了。这个还好,我们这个用户行为啊,才11张表啊,业务数据呢,有27张表啊,那个导起来痛苦呢。而且大家觉得现在可能这个导的时候比较顺畅啊,在这个,呃,我们在做开发这个课程的时候啊。其实期间也踩了不少坑啊,有的时候这个字段呢,啊没对上啊,还有这个丢字段呢,差字段的情况也是屡屡发生啊行,那现在呢,这个就已经导完了啊啊也是导完了,也是3月10号的数据我们就全部创建完毕。
我来说两句