00:00
啊,好了,各位同学,那咱们接下来呢,就简单的总结一下,就是DWS层它的这个设计的一些相关的知识点,呃,现在咱们知识点呢,我们重点放在什么啊,就放在我们这种一地表的表结构是什么样的,N地表的表结构是什么样的,还有T地表的表结构什么样的,以及就是他们这三种类型的表,它的这个数据装载我们应该怎么做啊,为什么要去总结这些东西啊,因为你会发现我们将来要做的DWS层的所有的表,基本上他们的套路都是这样的,都是固定的对表结构都类似,数据装载的逻辑基本上都类似,所以说我们只要把今天讲的这点知识点给它理解了,那后边这些表呢,咱们看一看就就就能看懂啊,是这样的啊,好了,那现在咱们简单的说一下啊,呃,首先我们先来总结一下,就是这个ED表的这个表结构,还有一地表的数据装载,咱们通常应该怎么做,那一地表咱通常怎么做呀,表结构通常什么样的表结构,无非就是确定行,还有列,还有分区对吧?那对于一地表而言,那我。
01:01
的行,这个由什么决定呢?其实就由你那个派生指标的力度决定对吧?力度是什么,那这个行就是什么,这个咱不多说,那列呢列其实主要首先第一个就得有一个字段是你那个力度的ID对吧?你比如说你是用户力度,那你就得有一个用户ID对吧?然后字段有什么决定,是不是就由那些派由由那个派生指标决定啊对吧?诶你这里边比如说我要算每个人的咱们下单的次数,每个人的下单的金额,每个人的下单件数是不是由这个去决定啊对吧?那当然这个东西呢,我们在设计的时候可以有一定的前瞻性啊对吧,这个可以参考谁去进行这个所谓的,呃,这个设计的参考是不是与之对应的事值表的度量值去设计啊,对啊,这个大家理解一下好了,行和列,咱们基本上就是这么确定重点呢,咱们来明确一下分区啊,这种一地表的分区咱们怎么规划来着,这个一定得注意啊,是按天分区,一天一个,每天的分区里我放的是什么来着,我放的就是当天的这个明细的汇总结果对不对,也就是异地表它的分区跟明细表的分区是不是。
02:01
对应的呀,上下是对应的啊,OK啊,这个一定要搞清楚,行了,那这个咱们一地表就先回顾这么多这个表结构就完事了啊,那接下来就是它的数据装载了,数据装载通常怎么做呢?很简单,基本上就是找到谁找到DWD层与之对应的那个明细表,对吧?咱们从明细表里拿一个分区的数据对吧?相当于拿到了这一天的汇总这个明细了,对吧?之后呢,进行汇总,汇总完之后放在哪儿,是不是就放到我们这个,诶汇总表这一天的分区里边来呀,对不对,就是这么一个逻辑,这所有的异地它都是这么去做的,所有的一表都是这么做的啊,可能唯一不同的是什么呢?我有的表是这个力度,有的表是那个力度,对不对?我有的汇总的是下单表,有的汇总的是支付表,对不对,那这是他们的不同之处,但是他们整体上这个表结构还有装载的思路都是一样的,行,这是ED啊,那接下来再简单的回忆一下这个,呃,ND对吧?ND咱们通常是怎么做呀,首先还是先看表情号,行列分区,ND表的行咱也是由什么确定,也是由力度确定,对吧。
03:01
OK,你力度是什么,我每行就是什么,那字段呢,字段跟1D相比,它是不是应该是多多一份啊,对吧?它会有一份是存7D的统计指标的,还有一份呢,是从30D的这个统计统计指标的,这一点大家要理解一下,OK,好,这是它的行和列,那完了之后呢,我们再来明确它的分区,这个N地表分区怎么规划来着,咱也是按天分区,因为我这个最近N天不是只算一次,对吧,我要算每一天的最近N天,所以说我们这儿呢,也是按天分区,一天一个分区,一天一个分区,那他每天的分区里放的是什么呢?放的就是呃,截至当天的最近N天的汇总结果,对不对?你假假设是15,那我放的就是从15号往前推,推N天对吧,推七天,推30天这样的一个汇总结果啊,14的会有截至14的汇总结果,这个一定要搞清楚,那所以将来我们再从这个ND表里取数的时候啊,你得搞清楚,比如说我想算一个最近七天的指标,那你是从ND的表里边拿七个分区吗?
04:01
不是,是不是只拿一个分区就够了呀,对吧?来,所以到到时候大家得得得会拿才行啊,这一定搞清楚好了,那这是它的分区规划,那这种N地表咱们做数据装载咱都是怎么做的来着,还能想起来不往ND表里做出装来怎么做的,呃,咱们是首先先明确从哪取顺啊呃,优先从哪取,从dws sed表里取对吧?有对应的那就从1D取,没有那我就得从明细表里边去取了,诶这一点先给他搞清楚好,那我大体的那个S那个逻辑是怎么写的来着,我们通常是直接拿30个分区吧,对不对,然后呢,是不是进行一个聚合,聚合完之后如果直接就进行求和,那我们得到的就是最近30天的结果,对吧?如果我们在S里边给它加上一个if,对吧,相当于是有条件的求和,那我们就能够得到比如说最近七天的结果,对吧,那所有的ND表的数据状载咱们都是这么去做的,诶所以这个套路咱们也要给他来掌握好了,这是ND表的这个相关内容,最后呢,就是这个TD历史至今的表了。
05:01
历史至今这边咱都是怎么做的呀,刚做了一个对不对,怎么做的啊,其实也不难,对吧?那首先我们先来明确它的表结构啊,表结构无非就是行列分居呗,对吧?行,这个咱们就不再多说了,还是根据力度确定,列呢,其实也不用多说对不对,那这个也是根据派生指标确定就完事了,对不对?那之后呢,就是分居这种历史至今的汇总表分区怎么规划的来着,也是一天一个分区,然后每天的分区里都放,是放的是什么,是历史截至当天的对吧?15放历史截至15的,14放历史截至14的,这样的一个汇总结果啊,这个一定要理解好了,那接下来呢,就是它的数据装载了,那它的数据装载呢,稍微有点特殊,对吧?对于tedd的表,我们需要区分一个首日跟每日对吧,那首日的时候咱是怎么做的?呃,首先首日的时候呢,我们需要从哎DWS层的ED或者是DWD层的明细表对吧,去拿全表的数据对吧?因为历史至今嘛,对不对,那当然还是优先从DWED表里取出,有就从ED,没有就是DWD啊好,那完了之后呢,全。
06:01
这拿出来哎,是不是就对数据进行一个统一的聚合就完事了,对吧?呃,全部聚合到固定的力度,然后把结果放在这个,呃,咱们这张表的第一个分区,那就完事了,OK,好,那到了第二天之后,咱们就不再这么做了,因为这么做有重复计算对吧?那我怎么做呢?诶,我会先从TD表里拿前一天的分区对不对,然后呢,再从明细表或者是1D表里,对吧,去找到今天的汇总结果,然后让这两部分数据呢,咱们做一个加法运算就完事了,当然这个加法运算呢,我们,嗯实现的方式比较多两种,一种呢是做join的方式,还有一种呢是做union对不对?诶这两种方式都能给他俩加起来,加起来之后呢,得到我们历史截至当天的结果,再放到我们这个DW,呃,就再放到这个TD表当中的这个当前的分区里,那就完事了,OK,那这就是所有的TD表的一个装载的思路,OK啊,就是刚才咱们所讲的这些内容,ED表,ND表,TD表对吧,他们的表结构,他们的数据装载逻辑都是这样的,那所以咱们只要把今天这些这个东西掌握了,那后边的表对大家是。
07:01
都不是问题啊行,完成之后视频我给他停一下啊。
我来说两句