00:00
好,接下来呢,我们来看一下DWD层啊,DD层之前我们学用户行为啊,学这个用户行为受伤的时候,他说它是干嘛的呢?过滤清洗对吧?啊过滤清洗对,那这个DW层就是对ODI层数据进行过滤清洗,比如说进行ID的一个判空过滤啊,还有一个,那你说在这业务出场里面啊,最常用的就是对这个OD层数据进行叫降维。维度的一个分化。啊,因为买身里面过来的数据通常都是多维的啊,因为它遵循的是三万四啊,那如何把这种复杂的这种小表啊,合并成一个大表,这种方式那就是降维啊,就是降维啊对,就是采用的手段就是造应,那好,那看一下这里面呢,我们是对谁进行降维的呢?对这个。
01:00
战略表这块啊。将一级分类、二级分类、三级分类以及三分表变成了一张大表。啊,那对应的这个形式呢,也就是原来的我们对应的这张表。这些表当中,我们把这四张表合并成一张表。啊,并没有一步退化成这种啊,全部推向片啊,但是呢,已经退化成雪花模型了,而且维度呢,尽可能已经小了,由原来的八张退化成五张。啊,这就是做的比较多的地方,那么来看。这块。那么除了这个将这个维度进行降维之外,其他的这五张表,其他这四张表吗?我们怎么处理呢?就是进行清洗过滤。啊,那表结构变不变。不需要发生变化啊,不需要发生变化,那也就是说OD这几张表,那建表的时候字段跟我们OD层完全一样。
02:07
那简单了,直接复制过来啊,那这里面改了一下这个存储格式变成反,然后呢,压缩呢,采用了snap啊,当然这块你可以换成C啊都可以啊,就是为了大家长长见识啊。好,那下面呢,我们来创建这个订单表啊,那订单表的字段名称都一样,只是名字加上这个DWD前缀。OK,一张搞定,那再往下订单详情。订单详情啊,然后创建用户表。保持原状不变,然后呢是创建支付表。没变。再之后啊,下边这个就变了,下边呢是创建商品表。
03:01
那这个三串的这个三米表啊,看看它怎么来的,我们这里面呢,是将。三每表三级分类,二级分类,一级分类,这么四张表,把它变成六克的这么一张表。啊成张大表,那这一张大表当中啊,你看这些字段怎么对应的,首先上面这些公共字段直接可以对应过来啊,包括这个创建时间可以直接对过来,那中间标红这一块怎么来的呢。这里面首先它是有一个三级分类的ID,那拿着这个ID就去这个三级分类表里面去查,对吧?啊查就能查出来对应的名称啊名称啊,那它这个放在这了,那同时这里面它还有一个二级分类的ID,那下一步我们就是拿着这个二级分类的ID去下一张表去查。
04:00
那查的过程当中就能把这个名称查出来,那同样这里面还有一级分类的ID,那我们继续拿这个ID去查上这个一级分类标准来上,把这个名称再添加分类。啊,一级去查一级,那其实就是表的一个噪音操作啊,那最终这就是一个完整的一张大表啊,变成这个大表啊叫维度退化啊好,那退化完这时候呢,这表语句就长这样,就增加了这么几个字段而已,好拿回来。那这张表呢,我们建完了,建完之后现在呢,我们就是要把ODI层的数据导入到DWD层啊,导到D2地层,那导入的过程当中说过要进行过滤清洗啊,主要这里面判断的就是ID是否被控,同时还进行了维度的一个对话,对话的过程用到的技术就是这里啊就没了,那我们来看一下啊,那这里面啊,上边呢,这是脚本的话,就五啊五块我们直接看第四块,那第四块当中第一块。
05:16
首先导的是这个订单一块啊,定在一块,那就是直接ins射table吧,向列表里面插入数据,数据来源于ods层的定单一份,只不过加了一个过滤条件,ID不能为空啊,就相当于把ID为空的过滤掉,那这里面是过滤ID为空。那其实我还能顾虑很多东西,比如说这是订单表,那么订单金额为负的,我是不是可以把它干对吧?啊,订单金额为到了,你就可以把它干掉,一些核心字段我都可以通过这个外条件就能把它拿掉,这就是标准的数据信息。
06:00
就是说一学期啊,你说ETL总说ETL工程师干什么事。啊,就干这件事,那同学这个在企业中的ETF跟这还不太一样,不太一样在哪呢?因为这个ETF啊,对咱们开发人员来说,我去写SQ是最快最擅长,对吧?那么对他们来说,运营的他可不懂你这里面的SQ或者一些业务代码。那他干嘛呢,他用通化工具。比如说开头。那这个开头它就是这个铺出来,比如说这边是as。这边是have,或者是这是have,这也是have。那它把这是图形化页面能知道直接拖拽到了平制台放在这,那就代表了一个have,然后这边一连线就说表示把这个还给数导到这里面,中间过程它仍然是写什么。但是他不关心其他别的了啊,他这个平台呀,还有的平台呀,或者这个还有平台呀,他都看不到。
07:03
直接写个顺号,实像把解个条件过滤掉啊,外什么什么等于什么啊,不符合这个条件的离条啊,比如说外这个ID is now啊,还有这个金额销售金额啊,这个不能等于负。就这么就过滤了,这就是准确的信息啊,或者一些长度不符符要求的啊,都可以看,因为这里边条件任何一个字段我都可以进行判断。对吧,OK哈,好,那后面这是你看前面这四张表,全部都是加上了ID不等等于空啊,当然你可以进一步的细化的去判断,我们这是以点带面啊讲了一下,OK,那下面呢,这块呢,就是这个维度的一个退化,也是降维。啊,价位。那降维的话,这里面涉及到了四张表。相等三倍表三级一分类,二级分类,三级分类,那分别就对应的三倍表,然后它去照应三级分类条件ID相等来了之后,这位二级分类表条件ID相等,这位三一级分类条件ID相等,其他的就是往这里面复值就完了啊,然后在最后加上了一个。
08:21
过滤条件ID不能等于啊,所以说就是多表的一个照影,而且其他条件都没有,我就加了一个它。啊,非常简单哈,行,那下面呢,我们就拿这个呢去啊,把O程数据导入到DW层。时间这么紧呢,不知不觉就结束了。玫瑰。嗯,还没讲需求的。这。
09:01
信息DWDDB好,那这呢,搞定搞定之后咱们用它去导一下数据,导一下2月10号的。20。那这里面啊,那我们可以再回顾一下,之前在讲舒仓的时候抛出一个问题,就是在搭建舒仓的时候,加VA1成员总爱问,你说你这个书上是怎么建模的。对吧,咱们说这个是新型模型或者水量模型对吧?啊这种。那么他问这个初衷是什么呢?因为他会觉得买生活里的数据啊,他的表结构之间是有各种各样的关系,而且需要去考虑的事情很多,那在我们输场里面,其实这个建模准确来说就是把加vae程序员他们建好模的。
10:01
表结构全部导入到数场里面,同时对他们进行降维,对吧,把多级维度降成尽可能的单机维度,知道吧,啊,做成新型模型。这就是建模。啊,就说这就是面试官总问,哎,你们书仓是怎么设计的,其实准确来说我们这些表就来源于业务数据库的表,对吧?那这个设计本质来说不取决于我们,只要他们把这个表关系给我们了,我们就需要对它进行一个降为,降成这种宽点大点就OK了。啊。一般问这种问题,基本上就是说他们对这个东西不是特别了解哈,好21号数据知道。得稍微压会儿糖啊。
11:03
我这好几年不加糖了啊,当你班赶上了是这样的啊,因为这个之前是加了那个前面那些需求啊,不加那些需求应该咱们班会比较轻松啊。那不加糖的话,晚上就得就得上自习了。好,那趁着这期间我可以说一下啊,那这个维度对话呀,他其实也是要付出代价的,大家想一想他付出什么代价呢?如果你这个维度退化了之后,那么如果你这个维度是被多个四值表动用。
12:01
那就会引引申出一些麻烦啊,比如说刚才我们说的这个一级分类,二级分类,三级分类,我们进行退化了,对吧,那比如说一级分类有可能就被某一个式子表使用,二级分类被另一个式子表使用,三级分类被第三个式子表使用,那级把它们聚合在一起的结果就是一个第一个数字表,他把这三份数据先拿过来,二呢也把它先拿回来,他也拿过来就存在的数据的勇于对吧?啊是存在这个东西的啊,所以说他有一把双刃键,也要看它是否,呃需要有共用的这种情况,那还有一个呢,就是实际业务当中还有哪些维度表可以听话。哪些呢?像这种省市县非常多对吧?啊,地区啊,就是家庭住址啊等等都可以这种方式。好,那这是委托对话的一个说明。那这边数据呢,也导完了哈,也导完了刚刚好。
我来说两句