00:00
好,那接下来我们要写的代码,我要讲慢一点了,对吧,这块呢,确实嗯,比较复杂一点啊,首先我们要去关联维表。对吧?嗯,想一想我们有几张表要去关联啊。还记得吗?就是我们里边要PU trademark category,但目前来说,我们的表里边并没有他的一个信息。对不对,并没有这个什么。PU trademarkeg信息。所以我们必须得先关联谁啊。我们要关联几张表,可还记得?我们先要关联SKU表吧,对,我们先要关联SKU,好,那接下来呢,SKU对吧?呃,Trademark category。当然category呢,你要按照三。
01:01
二一按这个顺序来关联对吧,因为三里边有什么。就是。你从s ku这个info里边,我们给大家看一下啊,为什么要这样去关联,当然不是这个顺序也行,就是这里面有几个地方有要求顺序,对吧,必须先。关联SKU表,这是最早的,这六张表里边它一定是第一个。对吧,好,那其他的顺序呢,必须保证二在三后面,一在二后面。就行了。对吧,其他的这两个位置不限。对吧,它俩位置不限,好你可以算一下这有多少种可能性,对吧,有多少种组合的可能性啊,有没有人快速的去算一下。啊,因为我们订单。All the detail里边也只有谁啊这个SKU。
02:06
啊,有的说八种,有的说六种啊。因为大家说一说它有多少种可能性啊,猜猜一下啊,怎么猜一下了。对吧,这里边都没有我们要的这个信息,所以我们只能先找谁呀skufo,而skufo里边有谁呀SKU。Trademark开为三对吧,这个就不要了啊,这个三对吧,它没有二跟一对不对,那我们找到这个三。三里边有二的ID,那二的ID有了,二里边有1ID,那把一一关联。对吧,啊,A33是吧,啊,这个怎么做啊。因为是二的三次方啊,看啊首先。它是什么,第一个不用考虑了,对吧,而且它的顺序是不是定的。
03:05
它的顺序是不是定的。对吧,他的顺序定的好,那插空法这两个人随意吧,那几个空啊,1234个空啊,四个空。是不是有四个空好,那插空法,那假如说我先取这个A这个B啊,我先取AA有四种吧,那B呢,到了BB是不是有五种。B是不是有五种?不是是的,是不是用插空法呀,这个做是不是用插控法吧,对呀,你得考虑所有的可能性啊,这是多说一嘴啊,好玩啊对吧啊想到这种东西就就就让大家做一下,是不是A插控法有4B呢,再去插控。是不是有五种?你把三个捆绑到一起了,那肯定不能捆绑到一起啊。对吧,那我这中间有PU,这中间有trademark各位啊。
04:04
当然可以啊。对吧,当然可以啊,好,那这就是20啊,那我先取B再取A,是不是也有20种。对吧,啊,但无所谓了,其实无所谓了啊,因为你先取A先取B,最后呢,你你你比如说你你你这样啊,你把它干掉,你先放了一个TM,你再放这个PU的时候,他俩是重复的,其实应该是二种吧。是不是应该是20种。是不是应该是20种,我算的是20种啊,我我不知道,大家算的没问题吧,因为因为你先放SPU跟先放trademark他俩中间呢,刚好重复一份,比如说你先放PU在这儿,我再放trademark在这儿,假如说我先放trademark在这儿。然后再放PU在这儿呢,所以它俩都是20插空法20对吧,然后呢,你你加上一个20还得除以二。
05:00
还得除以二。我算的是20啊,我这种算法应该没问题吧。是不是这这这道题如果真的出现在数学题里面,肯定要用插空法嘛。对吧,你肯定用插空法,它它不是一个,呃,简单的这种排列组合啊,不是简单的一个排列组合,对吧。好,这就多说一嘴啊啊也比较有意思对吧。反正你做不出来,别人做的都是对的啊,行,有道理啊,你说的有道理。对吧,咱们要去关联这些个表,好,那你说这边我们你在data STEM里边,你觉得我们关联微表应该用什么。API用什么,用哪个算子啊。应该用哪个算子啊?
06:28
啊,有人提到了用这个connect。啊,关联表data stream里边用这个connect。啊,那其实关联表。也不是啊,数据一个一个来,对,数据是一个一个来的啊。关联为表啊,对了,其实我们用map就好了,你想想看是不是,那无非就是说我来了一个实值表,比如说啊,我来了一个这个订单,诶订单明细数据,他的SKU是这个24,我是不是就拿着这个24去这张表里边找到24这条数据,然后主要找谁啊,找这个PUID对吧?呃,找这个。
07:11
T m ID trademark ID,找这个CATEGORY3的ID啊,对吧,把这个东西补上啊,对吧,因为SQ name呢,其实已经有了,我们数据当中本身就有了,如果没有的话,如果说这个明细当中没有的话,那咱们也把SQ name放进来,对吧,你要什么东西都可以,这不都有吗?对吧,啊,这个重量啊,还有这个S这个default这个图片,这个一般不要什么Excel有没有卖出创建时间,对吧,还有没有就是还有没有库存,相当于啊对吧,类似于这样的,我们用map是不是可以啊对吧?来一条数据我去查一条,来一条数据去查一条,因为它。就不能写join的嘛,Flink circle可以写这个维表关联啊,如果你是在my circle里面可以直接写,但是你在Phoenix还不行,因为它没有JDBC的方式去连接这个Phoenix,当然我们看到它只有三个对吧,一个是MY。
08:04
啊PGSO,还有这个德比还记得吗?弗林S连接器里边咱们的这个。JDBC连接器对吧,它所包含的这个数据库的类型只有这么三种啊,所以呢,这边很简单,咱们要用什么呢?要用map。要用map对吧?好,那这边我们写一下reduce点点map,而且我们要用rich map对不对。因为这边呢,咱们要去访问第三方数据库了,对吧,所以其实这边呢,应该用reach,为什么。Reach,负函数里边比普通的要多什么?要多open,对了。啊,就是多了一个open,要建立这个连接对吧?啊,生命周期方法啊,没问题,那我们肯定要用rich,没有一个rich map对吧?好,那返回值你说用什么类型呢。
09:17
咱们这个函数返回值用什么类型。嗯。咱们这个map函数的返回值用什么类型啊?想想你干什么事嘛?啊问就是一样啊。对,他确实就应该是一样的,是不是为什么,因为你想想看这个里边干什么事的。
10:01
他不就是补充这个信息吗,因为之前我在封装的时候,是不是这些东西都没给呀。对吧,那无非就是说我们现在要通过关联维表的方式把这个东西干什么补上吧,那类型肯定不变啊,那无非在里面set set set字段呗,对吧,所以类型呢,根本就不变。好,呃,那么在这个地方有一个open方法,要初始化连接,在这要干什么事,拿着我们的SKD,比如说这边啊。通过SKU。ID。查询SKU。Info。对吧,补充信息好,那这样的事情咱们怎么样,还得做好几次对吧,做六次你想看是不是啊,有这个什么PU。
11:00
SPUID补充SP info信息对吧?呃,Trademark ID。兄弟们,或者我就不写了。获取这个假如说我就写trade bug音符啊,这个后面category对吧,写一下吧,就写到写到这了都。这个是二。或者说这个不要。查询。补充信息。气死我了。咱来查询补充信息啊呃,那这里边儿大家明显的感觉到接下来我们应该干啥事了。你那那你看我们既然我把这个东西写到这儿了。那你说。关于这块操作,咱们要干什么事儿了。
12:01
连接在这儿创建对吧?啊,你这儿不用管连接的事儿啊,啊,你看到这么多,你你应该想到了,要咱们应该干什么事了。你想干啥?咱们应该做一个什么事?对查菲hoi写工具类对吧,因为如果你不写工具类,你都在这写,感觉这个东西怎么样。就不爽了,对吧,啊,你要写很多字六遍对吧,那我们写一个工具类,那多好啊,是不是好,所以接下来呢,最重要的就是写这个工具类啊。
我来说两句