00:00
上午呢,咱们是把这个EI这个操作呢,全部都。做完了对吧?啊,但是这里边呢,我们稍微的有一个地方可以调整一下啊哪呢,在这个里边,因为这个。类里边它既有这种实现的方法,又有这种抽象方法,对吧?啊,那一般来说呢,我们习惯上这样玩啊来。我们怎么做呢?呃,一般呢,在这边咱们再写一个。接口。啊,再写一个接口啊好,那这个东西呢,写一个接口啊。脚尖。Join方向,比如说我们就叫它啊,它是一个接口,OK吧。嗯,这个接口里边呢,有两个方法,就这俩。啊,就有这两个方法啊,当然它已经是接口了,所以像这个public abstract这个就不需要了,这个泛型,但咱们得定义一下对吧?啊给一个T啊,写一个接口,因为它是抽象方法嘛,啊那咱们那就可以把这个,嗯,我们当前这个类啊,把这两个方法给他怎么样给他干掉啊给他干掉,干掉以后呢,把这边去写一个实现。
01:16
Dim。转移方向。是吧,我们去实现。这个转方向就好了。啊,用这种方式来做一下,就是说把抽象方法呢提取出去,对吧,所以大家在框架里面看到的呢,诶还有很多的类似于这种抽象类,有的呢,是这种接口啊就是这样来的,因为我们可以把这个抽象方法提取出来,万一。其他类用到这两个方法呢,是不是有可能啊,对吧?啊,那有可能啊,所以呢,我们就可以把这个抽象方法提取出去啊,那未来如果说有人也需要用这两个方法,直接就怎么样,直接实现这个接口就好了,对吧,直接实现这个接口好,那这是抽象方法就给它提取出来了,那接下来按照我们。
02:06
来做的这个事儿,对吧?啊,按照我们写的注释来聊这个事儿啊,接下来提取事件时间生成这个wordmark,那就拿它呗,对吧,那点。塞呢啊,这个主要原因呢,在于前面我们已经给了这个TS了,对吧,在前面转换数据结构的时候,在这边我们用创建时间做了它的一个。TS对吧,做了他的一个TS啊好,那这边呢是wordmark,嗯,还是一样的,我们给一个两秒的。延迟对吧,好,那这边呢,是我们的招聘叫trade。Userpo。B对吧,好,那在里边继续点。你有一个civilization的一个。Step。嗯,那这边呢,Get咱们的一个TS就好了,对吧?好,Get咱们一个TS好,那这样的话呢,我们就得到了,看着二加V得到一个。
03:04
叫trade us po叫对吧,就有了接下来分组开窗聚合,咱们之前所聊的当前这个需求啊,它的分组条件应该还蛮多的,对吧,就是说诶品牌。品类。呃,User PU这些东西呢,都应该是咱们的。分组条件。啊,都应该是咱们的一个分组条件啊,但是呢,呃,我们现在如果说你真的按这些个字段去。K,那么你要先关联为表,因为现在呢,里边像这个trademark name,还有这些东西呢,都没有。对吧,所以呢,咱们先根据谁啊,根据SPID啊UID肯定要对吧,然后接下来看这个三的ID跟这个trademark的ID,根据这四个字段来。做分组对吧,我们根据四个字段来做分组,好,那这边呢,我们来写一下啊叫。
04:06
With world。好。Key对吧,好key select啊,那这四个呢,咱们之前好像写过四个的对吧,呃,咱们呢,还是一样的用一个。对吧。Four。啊,然后用这个正常的。好,这个包。对吧,好,那在这几种上呢,我们又一个叫。啊,刚才说top four啊,怎么想到三呢?好,那这边呢是value.get叫user ID对吧。P。ID,然后呢,是。
05:00
Cat。Trademark。D。Category。三奶对吧,这个呢,在我们第一次关联SKU硬座的时候,就已经把这三个都拿过来了,对吧,因为我们当时分析过了,我们按这四个维度呢去做分组,做聚合,跟你按11个维度11个字段对吧去做。分组开装聚合结果其实是一样的啊好,那这样的话呢,我们就得到了一个线控流吧。这个就是kid。String我们就叫它,因为他东西比较多,对吧?啊。好,那接下来呢,分组开窗聚合,拿着线控流,当然了,你也不用写,不写反位置也行,直接开窗对吧。点啊,咱们呢。好。Time点,哎,那我们呢十秒。十秒的一个窗口,对吧,继续reduce,有一个reduce function。
06:03
哎,在有一个window方向。啊,第二个。对吧,呃,这个东西呢,有点长四个对吧,咱们直接叫K得了啊,这是分组的那个K啊。那么接下来咱们最终呢,还是返回这个Y61对吧,那在这一块。啊,那在这块我们有两个东西要补充啊,一个是value一点。Get什么呢?叫order ID set at all对吧,然后呢,VALUE2点。Get out,诶把它俩呢要加到一起啊,把他俩要加到一起,然后还有一个白留一点。Set这个什么叫all the amount吧?Amount啊,那value1.getamount加上VALUE2点。Cat。
07:01
Out对吧,哎,把这个out amount也要。加到一起才可以,而我们当前这个招聘里面呢,其实只有两个度量吧,一个呢是这个outcome,一个是outcome amount,对吧?啊,但是outcome呢,现在给不了,因为我们要经过这玩意去虫。才能得到啊,所以呢,现在你不要着急去累加它,它还是是个nu呢,对吧,我们最后呢,聚合好以后,准备输出的时候把它赋值上就好了啊好,那接下来呢,这边就在这去赋值对吧,因为它呢调用window方式的时候呢,就已经把所有的数据都聚合完了,对吧?都已经聚合完了啊好,那我们来。写一下这边呢。首先是获取当前的数据,对吧,Input点点。好,那接下来呢,补充这个信息对吧,点三第一个呢,TS啊,那我们可以用当前时间做一个替换对吧。
08:00
啊,那么第二个。点said,就刚才我们看了all the count,除了窗口时间这个也要给,对吧,那我们用什么呢?用这个user b点叫get。Order said点。Size size对吧,来做一个转换啊。好,那接下来呢,是。点set,那这两个呢,大家都熟了对吧,叫STT啊,然后呢是date for YouTube点。To年月日对吧,然后window.get start,然后呢,user.set叫ET好date form点哎,window.get。对吧,哎,那这里面呢,多一个字段就是它。这就是我们之前说的去重的一个逻辑,对吧,那你呢,每来一条数据,你把这个集合放在一起。最后我在这个函数里边,这个函数呢,告诉我们数据要准备,输出了一个窗口,当然数据都到齐了,对吧,我们就可以直接诶取它的长度作为整个的一个out count就好了啊最后呢,输出结果out.connect把这个招B呢做一个输出。
09:12
哪是他?把这个招聘呢,做一个输出就好了,对吧?啊,就这样的一个情况就搞定了,这是我们的一个分组开窗。聚合对吧?啊,那么这个呢,狂老加V啊,得到一个reduce DS就是聚合后的一个。结果OK吧,这是开分组开张聚合的这个结果啊好,那把这个。好,那接下来呢,我们聚合好了以后,我们再把其他的一些维度信息补充上,对吧,那我们按顺序呗,那我们还要关联的有SPU。Trademark以及这个category category呢要从321这个顺序来做,对吧?好,那这边呢,我们快速写一下,首先第一个是reduce点点。呃,还是一样的,那咱们呢,得用EIO对吧。
10:02
Asy c的一个stream.on audio关联微表嘛,那跟顺序没关系啊,第一个是流就是reduce点啊,第二个呢,是我们的函数有一个叫DASC的一个方式,这里边呢,放的还是trade us PU的一个病。对吧,Out加回车实现里边两个方法啊好,那我们把后面的先写完啊,这个呢,还是给一个100TEN unit.second啊呃,还是给这个,首先呢,这个位置咱们要给一个表明,对吧,叫DM_PU。In符,至于就表明这个东西啊,你可以在这来看在哪呢?在这个地方对吧?呃,我们现在要关联SPU这张表表明叫什么呢?叫DMS PU ino叫它吧,那我们要从这里边去取出谁呢?嗯,取出SP name主要是。啊,主要是取出PU name对吧,它叫这个名字啊好,那么接下来呢,首先我们获取的ID就是的点。
11:00
Get叫PU。ID对吧?然后补充的字段呢,Join这对吧,就into.set PU name从这个in for里边去get stream啊,就叫SPU。对吧,这个名字要注意一下在这儿。啊,因为这个think columns就是我们的建表的字段对吧,那这个相当于就是Phoenix的列名对吧,就叫s po name啊,就是这个配置信息呢,咱们可以这样去用,这样去看啊好,那这个就搞定了啊,这个我们就不单独测了,我们把整个写完再去测啊看下V诶。看加V对吧,得到一个。这个PU。DS同学们,这是我们关联SPU。这张表啊,这是咱们关联这个PU这张表对吧?好,那这个东西呢,就有了啊,那么咱们这写清楚了,10.1。
12:03
关联。啊,关联SP有表,好,那接下来到这儿。咱们呢叫10.2。关联trademark表对吧,嗯,10.3关联。Category。三。啊好,那同理咱们还有两个。这个是10.4 10:40点五对吧,关联二。一对吧,好,那TM表。咱们写一下还是一样的,嗯,Asnc的一个点,On。对吧,那这个流哎,你注意啊,这个地方要逐级往下写。对吧,你不要再写reduce DS了,你得写它,就是它逐层的往下,那同理我的关联s categ3的时候,我得用当前这个方法的反位置,对吧,不要写错了啊,又一个叫D。
13:07
S啊,Trade叫user po b对吧,好再回车实现这里边两个方法啊,好,那同理,这边呢,还是给一个100TIME。啊,那这个又搞定了,CTRL加V对吧,得到一个reduce。With。Trademark。对吧,好,那我们先把这个整个的理由先疏通啊,然后呢,再补充里面东西,因为这个呢,到时候就还得对着这个表嘛,我们统一来写啊,那这边呢,我们要统一的写会写完。异步数据流点on audio,然后这个呢,用with trademark对吧,好嗯,那一样的有一个叫。Asnc的一个方式,嗯,这里面类型呢,当然这个我们当前这个需求来说都是一样的,对吧,画家回车实现的一个两个方法啊,然后这个拿过来啊。
14:00
往那一放就好。对吧,好,那这个呢,我们同理CTRLC啊,然后呢往这一放,然后呢往这一放啊等会呢我们去补里边的东西,对吧,首先我们把硫这个问题处理完啊,CTRL加V。这个呢,得到一个reduce category。三。对吧,好把这个名字拿过来往这一放,注意这个一定要做替换啊,二加V。哎,怎么又是这个。CR al加V啊,那叫。这个呢改成二。选择二好,那把这个二呢移到这来。对吧,他就对这个二这个流了,然后接下来呢,看到二加V。诶,这很奇怪呀,我怎么每次敲看着奥加飞它都奥好像没识别一样呢?是我这奥键有问题吗?我out键有问题啊,因为好像out没识别出来,每次都直接看到V了啊,所以把那个写过来了,OK了,好那看啊这是二。
15:07
得到一对吧,因为这个是关联一嘛,啊那同理,这个是读的是三,然后变成二,这个呢,读的是trademark变成三对吧,逐级的好,那我们呢,在这里边要补充信息,第一个关联trademark表,那表明。得有对吧,好表明trademark这张表叫这个啊,叫game trademark name啊,这个表明拿过来,然后呢,这个大写,咱们统一都用大写的对吧,这边呢,就是input的点。Get trademark ID,然后这边补的就是trademark name.set trademark name in for.get stream对吧?这个字段叫什么呢?我们来看一眼啊trademark,诶,它里面呢叫team name对吧?叫这个名字拿过来。啊,注意大写啊好,那我们trademark这张表呢,就关联好了,对吧,接下来是这个开这个三这张表首先第一步在这儿得加上开三的一个表明啊,叫这个。
16:08
大写,好,那开这个三呢,我们在这边当然是点get category。三的ID对吧?呃,接下来要补的字段啊,这个补的字段呢,有两个啊,来看这个三,它首先呢要补这个。三的name对吧,要补这个名称啊,然后接下来呢,要补2ID。对吧,那对于二呢,你要补二的名称加一的ID,对一自己呢,就补一个名字就完了。对吧,A,这逐级嘛,所以你要注意一下啊好,那在这边呢,咱们来。首先是开三的。名称对吧?呃,同时点set,还有一个开了一个二的ID对吧,两个都要去啊好,首先第一个点in for.get。
17:05
啊,那我们看一下它这个三,它这个名称啊,它这个三它呢,里边有一个叫K2的一个ID对吧,还有一个叫name啊好,那我们知道这个呢是name,这个呢是。点get,诶,他叫这个就2D,注意大写啊。好,那这个就有了,接下来呢,我们去关联,哎,开立归二这张表对吧,逐级去关联,首先这得加一个表明,表明呢就是它啊。当然我不拿它过来改一改啊叫二对吧,接下来呢,取的是。电。开这个二的一个ID对吧,将来呢,补的信息他也补两个,补的跟你一样。啊,首先呢,补自己的名称,补二的名称对吧,然后呢,补一的ID,那一的ID呢,就叫它这个一的ID对吧,它是补自己名称加二的ID,他呢是补二的名称加一的ID。
18:02
没毛病吧,所以这块呢,嗯到不难了已经,但是呢,大家写的时候一定要注意一下啊好,那这边呢,首先表明表明呢,从这拿过来。改成一对吧,改成一好,那这边呢,当然是铺的点。Get category1的ID对吧,那接下来呢,他呢就不需要补两个了,他补一个就够了,对吧,就补这个谁啊。补这个name对吧,但是呢,他补的不是二的name,他补的是一的name。他补的低的呢,没问题吧,而且呢,这个都叫内啊,我们来看一眼,在这里边哪一个都叫嫩。没毛病吧,啊,哪一个都加内。好,那到这边为止呢,我们就已经补充完成了啊,就补充完成了,这是我们补充这个,呃,非分组字段的一个内容。对吧,哎,它是非分组字段啊,那这块呢,咱们就搞定了,那其实这就得益于我们工具类写的好。
19:02
对吧,我们工具类呢,写了一个非常通用的,你随便管理哪张表我都可以用,对吧,包括你要补的字段是不是大家都不一样了,对吧,无所谓啊,你每个人补的姿态都不一样,我不重要。啊,完全不重要对吧,好把这个呢,记好以后呢,我们把这个数据也要做一个打印,对吧,在这。这个呢是关联所有的。关联好所有微表了,对吧?哎,那咱们呢,可以做一个打印,呃,最后呢,把这个东西呢,要。输出对吧,Reduce category1啊,注意是1.ithink。叫麦。黑。九点啊,银色的。Into。Y64括号对吧?好,那我们来看一下这里面有多少个字段啊,那首先。窗口信息两个。
20:01
对吧,然后呢,成双成对的微表有几个呢?首先trademark,然后开这个123这四个加一个SPU。这是五个,那就是十个对吧,然后单独的一个,这是一啊,然后接下来呢,有两个度量一个TS,这又是一个三。啊,把它加起来16吧,16个字段。啊,咱们的表呢,总共有16个子的OK吧,好,那这边因为为什么要数呢,因为要写问号的三四啊,我写四个啊四个之后呢。第二个诶错了,这是中文的逗号了,不行啊,第二个第三个第四个你16个嘛,刚好我给四个就好了,对吧?好,那这块呢就搞定了,将数据呢写到click house啊。好,那我们要做测试呢,首先第一步啊,还是一样的,咱们得先写一个数据流和。所要启动的程序对吧?呃,那么数据流呢,其实比较简单啊,因为它来自于从这个哪个里边读啊。
21:05
All the detail里面去读这个数据吧,那既然你从这儿读数据的话,那我们呢,直接把这个all the detail给他干什么?拿过来是不是就好了?对吧,把这个all,诶我把那个玩关了吗?啊真的是手欠啊,呃,All detail这个啊把这个呃直接呢,把它的数据流拿过来。往这一放对吧,然后呢,改吧改吧,啊,那我们从这个里边消费,消完之后呢,经过一个link APP,然后之后把数据写到咱们的。这个呢,属于咱们的DWS对吧?好,那在这里边呢,我们所的程序,那就是他自己啊,就是他。对吧,啊,那然后最后呢,写到这个C,那当然还是C。
22:02
对吧,但是呢,它依赖的东西可不一样了啊,它依赖什么呢?首先那我们要依赖这个Phoenix。对吧,除了菲利之外呢,还有一个东西叫red,诶,它依赖于这两个框架,所以你别漏了,你把这个,因为接下来呢,我们现在聊的程序,对吧,你当前这个弗利APP数据流没问题,你里面包含多少东西那都无所谓,反正你启动就这一个类对吧,但是呢,在我们真正启动程序的时候,你不光要启动它,启动它之前呢,你要非X要打开对吧,而且更特别的就是在我们启动Phoenix之前要启动谁呢?这个HP。对吧,那你启动H之前又有HDFS与这个。ZK,对吧,所以呢,我们几乎这个需求呢,开的东西就会。比较多了,你发现了吧,对吧,好,那没关系,我们现在呢已经开差不多了,上午呢,我们都已经把这个测了,对吧,现在其实就差一个house。
23:01
啊,对于咱们来说就差一个号,好,那我们把它打开啊。好,这边呢我们去开这个克,这边呢还是留着造数据啊,最后我们造数据啊,这边呢去启动这个克house好。速度system control对吧,叫。C。Service。好,那么接下来呢,我们进到这个里面去看一眼。对吧,好,Show table。啊,不是S,应该是use,我们直接先到这个库啊,咱们进到咱们自己的库里边。好,那我们呢,把这个表剪一下啊。啊,拿过来。
24:02
往那放。Count。心from。这张表现在呢,没有数据啊,没毛病对吧,你现在肯定没有数据啊,那接下来呢,我们集群当中的内容已经启动啊,已经启动了,那接下来呢,我们就只需要把这些东西起起来,对吧,起下就好了啊好,那我们呢,嗯,这上午都启过了,首先呢d ABB啊把它打开吧,其实它没有什么大用啊,因为在我我可以告诉大家,在我们这个维表里边。如果说你把这个东西。如果说你把这个东西改为零了,你把这个东西改为零了,我告诉你就是说他呢,不会有任何维度数据产生啊,因为我们写的这个造数据的脚本里面,我们没有去造这个维表数据。啊,就是我们没有造这个微表数据懂吧?啊是这个意思啊啊,所以呢,我只要把这个改为零,哪怕你把这个东西关掉对吧,这个D关掉也无所谓啊,但是呢,我们就开着吧,也无所谓对吧,因为生产环境当中这玩意肯定是开的,因为毕竟它属于维保数据啊好,那这边呢,是。
25:16
Order pre吧啊order pre啊,就是这个预处理的表再打开啊。这是我们打开的第二个。程序啊呃,第三个呢,就是我们的all the detail哎,把它呢运行。好,那最后一个就是他自己是这个trade user PU or window对吧,点开。嗯。好,那这边呢,已经。启动了,启动好以后呢,接下来我们就开始造数据了,对吧,好来。
26:02
找你。因为集群上呢,我们就差一个克house,而刚才呢,我们给大家开了对吧,上午呢,我们都已经打印了这个数据呢,没有问题。哎,那这边立马就有结果了,因为我们大家还记得上午我们还保留了一点数据。对吧,啊,这个是我们检验的一个结果啊好。那接下来呢,我们先看这个数据有没有丢啊嗯,这个呢是我们刚造的对吧,刚造的数据啊,339条,诶差不多上午呢,五百五百多条,因为造了两次啊,这个呢是原始的,你看现在这里边呢,它的一个po ID对吧,开这个三的ID加出的ma ID都是那啊那没关系,是多少339对吧。339啊好,那继续往下,嗯,接下来呢,拿到我们这个关联PU之后,对吧,哎,把它拿过来。这是3.9。没有问题对吧,这是关联之后的数据啊,这个数据没丢对吧,那接下来我们最终关联,你看这里面还有很多闹呢,也就是说最终那个数据还没打印,因为最终数据打印我怎么打印的。
27:11
我只写了箭头啊,他们现在出不来,因为我们数据呢,开了一个十秒的窗口,对吧,那你只造一次数据看不到结果,那怎么办呢,咱们样。咱们再造一次对吧,啊,间隔十秒以上再造第二次这数据啊,我们再来看,但是这个数据就不好对了,因为你聚合了,我就没办法说这个数据丢没丢,不不太好看了,对吧。呃。它里面有问题是吧,我看一下啊。往克林号去写有问题是吗?来,我把它停掉啊,是我的一个接标语句,哪个地方出问题了吗?好像是往克林号去写有问题对吧?呃,先看这个结果打印啊,先看结果打印,我们一步确认了,那这个呢,是查询了对吧?确实查了PU表啊呃,那么接下来。
28:03
这边。是我们关联完PU的这个信息对吧?好,那我们找这个纯箭头的,纯箭头的啊,先看这个信息有没有写进去啊。呃,信息呢,是写进去了,叫STT有了对吧,Trademark ID,然后呢,Name。开立一二。三对吧,接下来是all outside,哎,只有一个对吧,然后呢,SK,呃,User ID PU name对吧,加auto count只有一次没问题,这个呢,里面只有一个,它一次啊,Out amount,总金额,然后呢,时间戳呃,看数据呢,没有问题,也都关联上了,最后呢,往这个课去写,有问题对吧啊。傻了。当时还还说了这个问题是吧,我说那个地方呢,表明没给对吧,这儿缺了一个表明吧。缺了一个表明啊,因为我看到这个地方。按家打印我们那个信息啊,直接就没有他他他这个东西报了,就是说你缺这个关键词啊,缺关键词啊好,那我们再重新启动一下,重新启动一下,这没办法啊,就漏了,当时呢,我们因为要考虑建表,想着回过头来把它补充上,但是呢,往上去写那个数据流跟程序的时候,诶却把这个表明给忘了,对吧,那我们S都没写对啊,那肯定就是没有结果,那没问题啊,行,那再再造一次啊来。
29:29
那这个时候你去查,肯定也是没有表明都没写,他也不可能往这里面写的对吧。好,那我们再来一次,看这个结果对不对啊。啊,那这个呢,是关联pou之后的,这个我们就不用看了吧,我们都对了好多次了,对吧?Trademark ID,它这个三的ID加上这个SSPD都有了啊,更重要的是呢,我们这次测就看能不能关联上其他维度,并写到颗ly house对吧?我们要看这个事啊,行,那这个呢,已经有了,接下来呢,我们再造第二次数据间隔十秒以上对吧,找你。
30:17
好,那这是原始数据啊,这个我们不用管对吧,我们直接拉到最后看这个位置,诶这次没有报错了对吧?呃,那么随便挑啊,假如说我看这一条啊,对吧,它里面信息都是全的了,可mark ID这个在上一次我们都已经发现了,对吧?维度所有维度都能够怎么样。补充上了是不是对吧?啊跟上了,我们看有没有写到click house啊来看到CF聚合以后305条数据,好,那这边我们看一下啊。在这位置,哎。在这啊,305条也没有丢吧,对吧,那你就在说你跟前面比一比,跟前面那就没法比了啊,跟原数据对吧,那你都有可能想了,那是不是原数据也305呢?那你大于305啊。
31:04
你看659。659,因为我们这个地方做了一个聚合嘛。对吧,啊,咱们呢,在那个地方做了一个聚合,那肯定跟原数据呢,比原数据要小。对吧?啊,肯定比原始数据要小,那这个呢就不太好去测,到底这个结果有没有丢,那我们来看应该没有问题,对吧?啊,那这个是原始数据啊,那这个呢,是关联PU之后的结果吧,啊,这是659诶。搜这个659对吧,说明我们关联维度之后呢,并没有丢数据,而且在这个里边呢,我们也没看到,除了这个正常的基因括号之外,也没看到什么timeout也没有看到这个数据啊,因为如果这个维表数据没关联上,或者说失败或者各种情况,那起码你得走这儿或者走这儿你得选一个是不是,要不然是关联微表失败,诶咱们看有没有啊来搜这个。
32:00
他。没有搜不到对吧,这是第一个啊,第二个还有一个什么呢?Timeout这个冒号对吧,我们搜一下他看有没有,哎,有没有从这个走timeout的。也没有说明呢,咱们数据都关联上维表了,对吧,这个你没办法,对啊说这个数据没有丢,那这个不好对,因为聚合了啊,聚合之后关联维表,那没办法对吧?好,那除非呢,你想看关联维表有没有丢数据,还有个办法对吧,你呢在聚合。之后。对它做一个打印对吧,对这个reduced做一个打印,哎,在这打印,然后再对结果打印,你看关联表的时候有没有丢。对吧,也可以啊,但是呢,这个事儿就不做了,因为我们如果数据。少了对吧,他一定会通过。这种方式或者这种方式打印出来对不对,这个两个任由肯定有一种吧,对吧,你得从这得出来结果呀。对吧,啊,你你得有一个地方出来这个结果才行啊,你不管这个关联维表的时候,说最后没有返回值还是什么样子的,那你没有返回值得超时啊,超时我打印的原始数据啊。
33:10
对吧,我又不是打印的关联后的数据,所以呢,你肯定能出来啊,你只要看到没有这个数据,没有这个数据说明呢,关联为表的时候数据没有丢,OK吧,好,那这块呢,咱们就整个完整的。搞定了对吧,这个需求应该是目前来说我们做的一个。比较复杂的需求吧,是记这个。那个叫什么dim层啊,大家觉得这个跟dim比哪个更难呀?
我来说两句