00:00
好,那按照正常的节奏呢,咱们应该要讲这个交易域。里边的事实表。对吧,里面有架购订单啊这些东西,那我们都要去聊一下啊,但是呢,在这个之前,我们有一些前置的基础要给大家去讲到。啊,那比如说在我们离线收藏里边,我们可以去想一下我们做了哪些事情。对吧,在离线收藏里边咱们。DW层有一个东西做了维度对话,大家可以有印象。把字典表。维度。退化。对吧,因为呃,这个所谓的维度退化指的是什么呢?指的是我们呢,就不构建这一张维表了。直接在生成DWD层实时表数据的时候。
01:00
就将这个数据合并进来。对吧,维度退换,那我问一下大家什么样的表适合做维度退化。嗯,有没有人要告诉我。什么样的表适合做这个维度退换,就是做这个维表退换。没有人说一下这个。这种表的特点吗?适合做维表退化的一种,表的一个特点。不要裂,很少。还有没有?
02:03
数据少。嗯,对,其实它这个点呢,在于就是列少行少对吧,啊就是数据量要小。其次还有一个。什么特点?除了大家所说的这个数据量要少之外。还有什么特点?只用在一个实时表不对。那我多张市值表都做退化不就行了吗?应该是这样的吧。这个纬度呢?它是单一的。就是说它不跟其他的维表有所关联。
03:05
能懂吗?啊,我举个例子。比如说呢,你。像我们的这个第这个贝。Dic这张表字典表对吧,它就不跟其他的关联,但是如果说你是一个SPU表。或者说呢,你是这个CATEGORY1。对吧,品类123,那很明显品类123这几个维度,它们之间维度与维度之间是不是有关联的呀。对吧,因为维度退化呢,一般这个操作我们的退化某一张表,对吧,不会说我整个把。商品信息全部退化进来。能明白吗?对吧?啊,那这是我们说的它的一个特点啊,这个在离线数仓当中咱没做过好,那我们要做维度退化。
04:00
那我们想现在呢,我们应该怎么做呢?就是就简单一点啊,我们就拿这个需求举例子,对吧,我们现在呢,要加构数据。把它拿过来,然后呢,我们要跟字典表做维度退换。在离线书仓里边,咱们是拿着两个表做照应就好了。拿着ods那两张表做join,大家想是不是?那在我们实时数仓里边呢。是不是同理也得做?Join。对吧,好,那你看啊,除了我们事实表跟维表要做这个维德催化时候要照应之外,那再考虑第二个,比如说订单,对吧,我们之前就提到过,提到过这个事情,那我们要把订单明细。订单订单明细活动以及订单明细优惠券,这个呢是四张40秒吧,对吧,它来自于四个不同的流。
05:09
啊,它来自于四个不同的流。对吧,那我们这个很明显也要把它招引到一块吧,且。我问大家订单明细与订单,他俩呢,一定都有数据对吧,但你告诉我所有的订单。都会有这个。订单。活动跟订单购物券吗?就是你下订单的时候一定是领券或者一定参与了活动吗?这个不一定吧。对吧,所以不光。咱们要做join还得。可能你看他俩呢,我们是不是可以用join。
06:03
那作业的结果跟这两张表得用什么?我们要用什么?对了,要用到left going。啊,不光要用draw,还得用left join对吧?那这一系列的东西我们说了,呃,刚才说留A1柳的draw对吧?呃,柳一柳的left draw。啊,以及硫与维表的做维度退化的一个维表照应,那这些个知识点咱们都没有讲过。对吧,连join操作都没有讲。是不是,所以我们为了你看下面它全都是这种操作,就是你要不断的去写这种招引流,一流的招引流语为表的招引。
07:04
对吧,哎,方总说的不错,接下来呢,我们就要考虑双流双赢。就要做双流装影。大家好像提到这个双流照应好像。有一点恐惧对吧,啊,这个我我知道啊,当然都是Spark STEM那个项目带来的一个。E。对吧,啊,加那个red去处理这个两个流照应的一个结果啊,都带来阴影,因为那个代码呢很复杂。是不是?大家是不是有阴影?对吧,你看啊,方总提双流招引,然后还加了一个问号啊,就隐隐的能感觉到。害怕。恐惧是不是其他同学呢,可能有同学呢,都不恐惧了,因为已经忘完了对吧,已经不记得那个是个什么东西了,什么时候能状语对吧,好像还没有印象,所以呢。嗯,不恐惧,这就是所谓的无知就无畏,是吗?
08:03
啊。不知者无畏,对呀,无知即无畏啊。就是我也不知道他有多难,那我就不害怕对吧,是这意思啊。呃,那么聊回来,我告诉你。你Spark streaming,你用的red做这个缓存对吧,但是link你觉得还需要吗?你想一下,Ling,我们还需不需要用red作为我们的缓存呢?需不需要呢,你觉得?还需要那么复杂吗?写吗?对。在里边,它本来就有这个什么有状态。有状态。所以。里边留的照影啊,你不用担心,我提前告诉你了啊,就是。
09:00
它data stream跟S都有照。啊,那梭克的照应就不聊了,对吧,太简单了,那这个大家轻车熟路啊,等会儿呢,当然我们也会讲到,也会讲到啊,那对于他SIM的照应我告诉你。一行代码搞定。啊,这个最流的状语在Li里边只要一行代码就够了,你Spark stream写那么多对吧,没有用,Li里边它都给你实现好了,一行代码把你的需求解决了。OK吧,爽不爽?就很舒服,就很nice对吧?啊,但是呢,就算它是一行代码,我们也要去学啊。我们也要去学是不是对吧,我们也得知道这一行代码到底怎么写。才可以吧,好好,那这个呢,我们就截掉,这是我们说的,为什么我们要花今天的这个时间来扩展。一些东西对吧,那如果说不做这个事儿,后面代码没办法展开,所以呢,我们就先专门的聊一下前置的一个知识点OK吧。
我来说两句