00:00
呃,来吧,各位同学,那下边呢,我们就正式进入到DWD层了啊DWD层呢,首先我们需要先明确的就是啥呢?DWD层的所谓的设计要点,看一看它有哪些要求啊来我们先看第一点,呃,DW层第一点的这个设计要求就是它的设计依据是维度建玩理论对吧?这个其实也不用他说,咱们大家肯定都知道对吧?那我们稍微的回忆一下,稍微的回忆一下就是我们这个呃,维度模型当中,对吧?事实表的相关的建玩理论都有啥对吧?就是我这个事实表到底是怎样设计出来的啊,怎样设计出来,这个是不是得区分什么来着,区分事实表的类型去说呀,对吧,我不同的事表的类型,我的设计思路,设计步骤应该是不一样的吧,对不对,三种类型,我们逐个的说一下,先看第一种,第一种是什么来着,事物型事表啊,那四个步骤就是什么选择业务过程声明力度确认维度确认事实对吧,就是咱不能光把这个记住啊,咱得真正的理解才行啊,是这样的啊好,这是第一种类型。
01:01
然后还有一种类型是什么来着,是那个周期快照表和还有一种是累计快照表,对吧?这两个我们就不再罗列它那个步骤了啊啊,咱们灵活一点,其实就是这两种表对不对,那它的设计思路基本上就是由什么决定的,由需求决定对不对,我是不是什么样的需求,就决定了我这张表设计出来它大概是什么样的,对吧?诶有类似的什么存量型指标,或者是多事物关联统计的指标,那我是不是还需要去构建相应的表,如果没有相应的指标,这些表咱是根本就不用见呀,对吧?诶这个理解下就行了,OK啊好,也是在这儿呢,我们还是那句话,诶这个事实表当中,这个事物实时表是不是占据了主要地位,我们还是以事物实施表为主体,对吧,以它作为重点就OK了,好,那现在呢,我们先继续往下进行,这个事物师表到底怎样一步一步设计,我们一会儿再结合具体的表,咱一步一步去做啊,现在呢,我们先有一个呃,稍微回忆一下就行啊行,那现在我们继续往下走,呃,这个第一个要点,其实主要就是讲的这个维度研文理论,对吧?这个我就先不展开说了啊,继续往下走。
02:01
你看第二点,第二点要求是什么呢?它要求的是DWD层的数据存储格式,哎,这个DWD你会发现它跟那个DM层是不是一样的呀,这个存储格式也是orc加上内皮压缩,那实际上呢,我们DWS层也是这样的一个要求,它也是orc列存储加S压缩,也就是DMDWD,还有DWS,它们的存储格式都是一样的,这一点稍微注意一下就行了,就是为什么这么去选择呢?这个已经解释过了,我就不再重复了啊好了,那这个完成之后,我们继续往下看看最后一点,最后一点要求其实相对来说也比较简单,就是一个什么表的命名规范,对吧?呃,这个命名规范可能看起来稍微长一点啊,它一共有几部分组成啊,一共有四部分组成对吧?OK,那现在咱们一个一个来看啊,那首先我们先看第一个部分啊,就是DWD,呃,是这个层名,这个不多说啊,然后往下走,第二一个是数据域,对吧,数据域,这个数据域大家还有印象没有,还有印象吗?对吧,那我们是不是在设。
03:01
这个数据仓库的时候我们提到过,我们除了会有横向的数仓分层,还会有纵向的划分数据域啊,对吧?划分数据域的主要目的是什么来着?便于数据的管理以及使用对吧?啊,就是你给数据划分数据域之后,相当于对数据做了一个分类,对吧?那将来我们管理数据或者说我查找数据是不是都比较方便啊,对吧?哎,这就是划分数据的意义或者是目的啊好,那划分数据域的标准我们用的是什么?还记得吗?是按照业务过程是不是划分数据域啊,对吧?我们会把若干个数,这个业务过程是不是分到一个数据域里边,若干个业务过程分到一个数据域对吧?那前面我们又提到过,说所谓的这个业务过程,它对应的就是我们数仓里边的什么表,事实表对不对?是不是一个业务过程对应一个事物型实时表啊,对吧?而我们绝大多数的实时表都是事物实时表对吧?所以说我们可以呃,就是呃,不太严谨的去说,就是说我们一个业务过程就会对应一张实实表,一个业务过程对应上实时表对吧?所以说白了,你划分数据最终划分的就是事实表对不对?所以说哎,那我们怎样在这个事实表当中把这个域体现出来的,很简单,就是在它的表明上面是不是加上一部分就是数据域啊,对吧,那这样一来我是不是一看到这张表的表明,我就知道它是哪个数据遇到了呀,对不对,就是这个逻辑是这样的啊,所以在这呢,我们需要加上一个数据啊,OK,那接下来继续往下走,那下边的一部分是什么叫做表名,其实这个表名在这儿呢,应该把。
04:29
把什么体现出来啊,他应该把业务过程体现出来啊,因为刚才说了,是不是一个事时表往往就对应一个业务过程啊,对吧?OK,好,那你这个实时表到底是哪个业务过程,是不是应该在这体现出来,对吧?比如举个例子啊,那我们接下来要做的第一张表是什么?是加构的这个实时表,对吧?那所以你看这一部分它放的就是啥,是不是card的ADD呀,对吧?你一眼就能看出来它是一个加构的这个实时表,OK,那同理,那比如说下单,你是不是应该放一个O,你一看它是不是就是一个下单的实时表啊,对吧,就是这个逻辑,大家搞清楚就行了。好了,接下来我们继续往下进行,那后边这个呢,就是啥呢?就是单分区增量全量标识了,单分区增量全量标识,那从那我们应该能感觉出来是时表,咱是不是也是分区表啊,也会分区的,OK好,那我什么样的实时表对吧,我的这个单分区用INC呢?那什么样的这个时值表,我的单分区用负呢。
05:24
一个增量,一个全量标识对不对?其实大家可以琢磨琢磨,这个其实说实话也得分事实表的类型而定,对吧?好,那假如说我们现在要做的是一个周期快照表,那你想想它的分区规划应该是啥样的?那是不是肯定是全量对不对,所谓的周期快照表是不是就是从业务系统当中找一张表,然后我们定期的每天给他打一个快照,对吧?那这这种表你用这个每日全量的这样一个分区设计是不是比较合适啊对吧?那所以说我们这种表,那它的后边通常就是负对不对?那假如说我们现在做的是一个增那个那个那个事务师表,事物师表啊,OK,大家还能想起来事物师表里存的是什么呢?
06:05
是不是里边往往存的是什么来着,是最明细的一个一个的操作,对吧,没问题吧,OK,那比如说下单数值表里放在是不是应该是一次一次的下单记录,下单操作,对吧?OK,那加购表了,是不是一次一次的这个加购操作呀,对吧?好,那你说这样的数据我用哪种分区规划是比较合适的呢?是全量还是怎么样,那显然是增量是不是比较合适啊,对吧?哎,什么个意思呢?其实这样一个字,比如说我们以下单为例啊,假设是下单数十秒,那OK,我在这儿呢,我应该是一天一个分区,我每天的分区我放什么,我释放历史截止到今天的所有的这个下单记录吗?并不是我只放什么当天的这个下单记录是不是就行了,每天我就放当天的下单记录,那这不就是所谓的增量嘛,对不对,今天的只有今天新增的对不对,原来的我没有对吧?这就有增量是量的啊完了,所以在这儿呢,呃,咱们这个其实应该就能够感觉出来,我们这个单分区增量和全量标识的一个作用了,对不对,那其实呢,主要就是用来声明,那我们这个表对吧,它到底是哪种类型的,如果是INC对不对,那其实往往它就是一个事物形示表,那如果是负呢,那时候往往就是一个周期快照表啊,对吧,那如果是一个那种累积快照表的,呃,累计快照说实话它的分区规划相对来说比较复杂,累积快照时表的分区。
07:23
规划呢,和那个拉链表稍微的有点类似啊,那它呢,不能单纯的用一个INC或者是负去表示,它不是单纯的增量分区,也不是单纯的全量分区,那这个呢,我们后边后边有机会再给大家去说啊,是这样的啊好了,那现在呢,我们这个呃,就是市实表的这个单分区增量全量标识这个概念就说完了,呃,完了之后呢,这个DW层整张的这个这个表的这个呃命名规范咱们也就算是完成了啊好了,呃,那截止到现在我们要说的这三点设计要求就全部都OK了,呃,那下边我们要做的工作就是,呃,按照这边的要求,咱一张一张一张的去设计我们这个师表不就完事了,对吧?好,那我把视频停一下,然后呢,咱们就开始啊。
我来说两句