00:00
好,那接下来我们看DWS层的数据装载啊,那同样我们还是先来看一下它装载时的数据走向啊,那由于DWS层的这些表,他们的装载思路都是相同的啊,那所以在这儿呢,我们统一的去看一下啊,好打开这个PPT。来来一起看啊,那首先看上边这指代的是DWD层的事实表。啊,那这些表呢,就是D的数据来,OK,那在呢,这个DW层的表呢,不针对于特定的某实时表,它的是所有的实时表啊OK,那下边那这个DWS层的表呢?那指代的也是DWS层的所有表啊,不针对于某一张表啊,因为他们的思路都是相同的啊那接下来我们就开始看它的数据走向啊,那首先假定今天是2020年6月14号对吧?啊,那看一下我们能够从DWD层拿到什么样的数据啊OK,大家注意观察,这儿出现了这么多分区对吧?啊,为什么出现这么多分区呢?给大家简单解释一下啊,那由于我们DWD层的事时表分为三类对吧?啊,一共三类,哪三类还记得吗?啊,分别是事物型实时表啊,还有什么呀?还有周期型快照时表,还有累积型快照实时表。
01:14
没错吧,那不同的类型的时表,它的分区规划是不是不同的呀?没错吧,比如啊,这个事物型时表,那它是不是按天分区,每天的分区里边存放当天新增的记录啊,对吧?OK,那再比如累积型快照十表啊,那它是怎么分区的呀?诶,它是不是会有一个999分区,然后再有一个每日的分区啊,对吧?999分区里存放的是所有未完成的记录啊,其余分区里边呢,存放的是当日完成的记录。没错吧,哎,他们各自都有自己的诶分区规划啊,OK,那我们在第一天往DWD层装载数据的时候呢,啊,咱是不是做了一个动态分区啊,对吧?啊,那所以说DWD层的,那现在会有多个分区里边存在数据啊,那由于我们不同类型的市值表,它的分区规划是不同的啊呃,在这儿呢,我没有特定的去针对某一张实时表,在这儿呢,代表的是所有的实时表,那所以说这里边呢,可能会有每日的分区,也可能会有9999分区啊,再让大家把这个要理解了啊好,那这就是我们第一天拿到的数据啊,那我们拿到这些数据之后,我们应该做什么样的处理,那处理完之后又应该把数据写到DWS层的哪个分区当中呢?
02:27
那接下来我们分析一下啊,好,那大家看一下啊,由于第一天的时候呢,我们需要对历史数据进行初始化的处理,对吧?啊OK,那所以说我们现在需要拿到DWD层的全表的数据,对吧?也就是说每个分区我们都需要拿到啊,那拿到之后我们应该做什么样的统计啊,咱们应该去计算啊,每个用户在每一天的各种汇总行为。OK,那咱们把这个东西算完之后,应该把它写到DWS的哪个分区当中呢?那是不是这个行为是哪一天的,我们就应该给它放到哪天的分区当中啊,为啥呀?因为DWS层的分区规划是这样的呀,对吧?那按天分区,每天的分区里存存储什么呀,是不是存储当天的活跃对象的汇总行为啊,对吧?
03:13
那所以说那第一天的时候呢,我们这些数据是不是也要写往多个分区啊,对吧?所以在这儿呢,我们需要用到动态分区啊,这就是首日装载的这个数据走向,OK,那接下来我们再看每日装载啊,那假定现在时间来到了6月15号啊,那看一下我们能够从DWD层获取哪些数据啊,那DWD层呢,在第二天应该会出现一个新的分区啊,那我先来思考一下啊,我们需要的是哪些数据?咱们需要的数据应该是在第二天新增的业务行为,对吧。没错吧,那大家思考一个问题啊,那第二天新增的这个业务行为应该位于哪个分区里边呢?那这个呢,当然得是不同类型的事实表而定了,对吧,有些时表可能呃,第二天新增的行为只会出现在第二天这个新增的分区当中啊,那有些时表呢,可能还会出现在9999分区当中。
04:07
那是这样的啊,那不管是哪种情况,那我们都要拿到第二天新增的行为啊,那拿到这些行为之后,我需要怎么做呢?啊,需要进行相应的汇总统计,那把统计完之后的结果哎,写到DWS层当天的分区里边就可以了。啊,这就是我们每日装载的数据走向,那同理,那到了16号呢,我们也是同样的操作,啊好了,那这就是DW数据装载时的走向。
我来说两句