00:00
好,那接下来呢,我们就写这个。内容啊,现在内容那举主体的东西还是一样,从卡发里获取数据对吧?好,那这边我们看一下啊呃,那点击和曝光,当然曝光呢,我们专门的有曝光流。我专门的有这个曝光数据,对吧?专门有曝光数据,你可以从曝光这个主题当中去取,当然我们也可以直接从这个页面日志当中去取,对吧,也就是说这两个流,这两个指标可以用一个流说出来,也可以用两个啊都都行啊,因为我们之前已经取了这个曝光数据单独拎出来了嘛,对吧,这个都可以啊,无所谓,然后接下来呢,收藏加购,下单,支付,退款,评价这个呢,都是不同的业务表。啊,所以呢,肯定要分开不同业务表呢。写到了不同的主题里边,对吧,所以在这个当中呢,我们至少假如说我们俩合并的话,要合并那也得是七个流吧,对吧?所以七个主题当中七个流要做合并,然后接下来呢,统一格式啊,统一格式,统一格式有的对数据要做加工啊,对加工啊呃,这后统一合并成一个流,设定时间,时间啊,然后呢,分组开装,聚合,补充维度信息,这个在这一步我们看到了。
01:19
对吧,所以我们在聚合好以后,再去关联维度补充数据啊,最后呢,再写入click house,写入科house呢,就比较简单一点,我们已经把这个事情,呃工具类都已经写好了,对吧?好,首先第一个我们去把这个实体类拿过来啊。这B这个扎B,我们之前说过了,我们要做成一个。构造者设计模式的招聘对吧,所以呢,我们拿一下,我们看一下这个东西啊,但其实他并不难。我把它拿一下。这里面字段就很多啊,之前我们也分析了,它里边有很蛮多的字段的,对吧。
02:03
好,那到这边来,首先我们是开窗。啊,然后呢,SQ idsq,呃,SQ namesq的price,哎,还有一个单价我们也放进来,对吧,然后接下来SQ idsq name ID trademark name以及I name,也就是说之前我们说的八个维度,实际上九个我们多加了一个。单价啊,当前商品的一个单价啊,我们加了一个好,那接下来呢,就是曝光点击收藏加购对吧,下单看啊,下单商品的个数啊,然后下单商品的金额以及订单数对吧?支付金额,支付订单数,退款订单数诶这个订单的数量,所以这三个指标,订单数,支付订单数以及退款订单数,这个呢,都是我们要去做什么事的。我们都要做驱虫对吧,都要做驱虫啊好,那这是金额。
03:05
退款的金额对吧,评价。好评啊,然后接下来三个赛。三个赛辅助字段,用于去重的统计订单数、支付订单数。退款。啊叫退单数,这个是退单啊退单数对吧,做这个事的,然后呢,这个地方看,首先我们都加了TS注解,因为它是属于辅助字段,我们并不需要将这个S集合写到。可一个house对吧,上午我们是不是做了这个事啊,对吧,通过注解的方式,只要加了这个注解,那么这个数据在赋值的时候将会被跳过。是不是对吧,我们这就做过了,所以说这三个字段呢,就是跳过的,但是辅助我们统计分析的,要做去重,我们用set啊,那最后一个时间戳。时间桌,因为我们要用事件时间来开窗,对吧,这样才能做到网课里号写,才能保证我们的一个密等性对吧?好,这是我们所看到,那接下来我们看一下这个关于这个构造者设计模式怎么做的,那所谓的构造者设计模式呢,很简单啊,就加一个这个注解就好。
04:16
也是小辣椒。也是小辣椒这个工具里边的,对吧,直接加一个build。就好了。啊,加一个build就够了。对吧,这个就很方便啊,那此时我们在构建对象的时候,你比方说我们来看一下啊。嗯,这个类,然后呢,我们在这里写一个。来妈妈啊,那这个怎么做呢?点的。点build ctrl加V得到一个product。对吧,好,那之后呢,构建对象,我们可以这样写了啊,然后呢,在这个基础上,你想要添加哪些参数,那你就添加就好了。
05:00
对吧,比方说我想要一个SKD。添加,那只有SKID被赋值了。对吧?啊,这个就是我们所说的这个构造者设计模式,在我们代码当中呢,我只需要加一个A的标的注解就搞定了,并不需要我们自己去一个一个封装的一些方法啊,去封装那个set方法,Set的方法,对吧?没必要啊,直接这样的方式就搞定了啊,就是由框架帮我们去完成的啊,那你要想添加什么东西就添加什么东西看。对吧,啊,那我们就没必要大量的写出来那么多字段了,我只要选一个SQID,然后对应的这个指标,然后还有一个版,往往来说更重要的是不是就这些东西。对吧,一个TS,那往往来说呢,我们就需要添加这几个字段就够了。对吧,这多方面,这多方面很多对不对啊,所以呢,这是我们所看到构造者设计方式,好,那接下来还有一个东西啊,还有一个东西什么呢。
06:04
在这个上面,我们不仅看到了在类上面我们加了一个at build的注解,同时呢,我们在这些字段上面,在这些字段上面还加了一个at build.default。对吧,那这个是干什么事的呢?是这样子的啊,大家看这些东西呢,我们都用的是一个大的一个浪啊,或者下面还有一个这个set,哈希set。对吧,啊,我们用了一个哈set啊,嗯,那这是怎么回事呢?我们为什么要加它呢?因为是这样子的,我当我们加了这个注解以后,加了注解以后,只要我们用,用的是一种引用值数据类型。引用的数据类型,那么它在里边取得默认值是那。就是当我们加了这个注解,只加了这个注解的时候,引用值。
07:00
那这个呢,默认值它都会重置为nu,不管你有没有给默认值,它都会置为nu,那值为nu就有问题了,因为像这种假如说我是曝光数据,我是改为一了,那其他的指标我都不给,不给的话,我希望它是零吧,因为最后呢,我们要做sum,也就是说把Y61跟Y62要做一个累加,那你拿着一跟none做累加是不是有问题啊。对不对。你不能拿着一去加那吧,这个不太合适是不是,所以呢,加了这个注解,这个注解的作用在于什么呢?保留你给定的这个值。啊,保留你给定的个值,用它作为默认值,如果不加它,如果不加它,假如说你没有给这个赋值,默认值它是个呢。默认值是个那啊,这个要注意一下对吧?啊,这个要注意一下,所以呢,我们加了这个注解,当然上面也有这个。解释啊,上面有解释,所以你要搞清楚这里边啊,就是我们又有两个注解,一个是这个build注解,对吧,另外一个呢,就是build.default啊点default对吧,保留我们所指定的这个默认值啊,防止它被闹,因为如果被闹的话,我们就没办法做合并了,对吧?这是我们关于这个招聘的一个解释啊,它里边呢,是25个字段,25个字段,如果说你要自己写的话,每一次写这么多太麻烦了,对吧,那我们就这样来写就好。
08:28
啊,用一个构造者设计模式啊。
我来说两句