00:00
好,那接下来呢,我们要把这个转化为招聘的一个对象,对吧,那这一步呢,我们写完啊。写完分组开张聚合这一步呢,我们可以搞定啊,那把这个拿过来。转化为招聘的一个对象,那直接点那map版每行数据都要做转换,对吧,这里边儿呢,是一个杰森。对象啊呃,那直接返回我们刚才写的叫trade。叫吹着什么东西啊,咱们扎B。嗯,哎,我们那招聘呢。啊,加的SKU啊。Trade SKU auTo B对吧?呃,点build,然后呢,点。Build,诶,那咱们呢,要返回这样的一个结果,好,那我们看有哪些东西可以。
01:02
渠道对吧,那我们应该记得首先SKUID。对吧,好,那SKU。Name这是有的吧,啊,那或者说呢,你对着这个。字段。对着这个字段对吧,我把你摘过来啊,你就清楚了。转过来啊,这个就。这个怎么?有点大是吧。这样能看清吗?应该可以吧。对吧,拉链啊。好,你看啊,首先啊,我们这样看吧,就是大一点大一点无所谓啊呃,STT什么trade的这个都给不了吧,对吧,Sqd SQ name可以我们已经给了对吧?然后outcome能不能给啊,Outcome注意给不了,现在给不了,你要给一还是给零啊,都给不了,干脆不给对吧?最后在开装聚合之后再给了啊,那这个呢。要给来一条数据,你就要搞一个对吧,它,那它是一个set,那在这边呢,我们得列一个哈希set string2加V,得到一个all的ids,对吧,最终呢,我们要把这个。
02:13
点凹的。Ids。把它放到那个里边。对吧,但是呢,这里面我们得放字段对吧?All the IDs.I jason.get stream,诶,去找一下我们的。订单ID的一个字段。在这对吧,订单ID那就叫all ID对吧。好,放在这儿。呃,那咱们这个磁带。就搞定了啊,接下来呢,是四个金额一个TSTS呢,给那就行了,默认值就不用管。对吧,因为我们已经提取了时间戳了,所以你就不用管了啊,那下面呢,有四个金额原始,那这四个金额呢,刚好在我们这边有对吧,第一个叫千分之二的一个原始金额它对吧,那这个金额一定有的对吧,不可能没有原始金额,所以呢,我们就直接写一下叫。
03:11
原始总金额,那就从这个杰森点get double。把它拿过来对吧,好,第二个是activity的,但这个注意它不一定有。你想一下是不是他不一定有。对吧,因为它有可能刚好是没有啊,那太正常了,对吧,所以呢,我们在外面干什么,定义一个double。它没有的话,它是一个浪值啊,你要注意啊,它它不是零啊。好,那这边我们写一下。If。什么呢?这个jason.get string获取谁呀?从这里边拿activityt。如果获取这个字段,它等等于。
04:01
那A或者说不等于钠啊。不等于的,那把这个拿出来吧。如果这个东西它不等于,那那我们怎么办?把这个。付给他。诶,这个是盖double。对吧,把这个值付给他,好把这个放在这儿,那也就换句话说,如果你要是等等于那怎么样。啊,或者说这个可以不这样定义对吧?啊换一种啊,大家看的不爽,那如果你是等等于那啊那我怎么办,我把这个值啊重新附一个值。这样是不是可能看的更好一点,对吧?呃,当然你另外搞一个变量也可以,那我们就叫它。是不是可以啊,对吧,同理咱们得还有一个吧,杰森点get double或者谁。
05:11
CRL加倍得到一个split carbon,那我们就这样写啊,If split。Carbon。它等等于,那如果它等等于那的话,那我们就把这个值改为什么。零,因为你没有嘛,没有的话我就只为零就好了,对吧,那。再下来这个地方再有一个金额叫。Carbon。Amount。对吧,那把这个split carbon amount放进来,最后还有一个什么,All the amount。Automan automan呢,那肯定要有的,对吧,那就杰森点get double。在这这个split total对吧。
06:00
啊,切分之后的一个金额啊,这是订单金额,就是你实际付的钱对吧,这个是原始金额,就是你的SKU number乘以SKU就是的得到一个金额。为啥不用定点数?嗯。用哪哪块用什么定点数。啊,用disc对吧,呃,这个其实按道理来说应该用disc啊,但是这块已经写了,我就没改了。啊对,其实你说的对,应该用disem啊,应该用Dis会更好,包括咱们的这个建表语句,其实用的都是什么disim。咱们介表语句这用的都是disc,对,其实最好用Dis SIM啊,你可以改一下OK吧,啊,当然这个可以这个地方嗯,其实不受影响啊,你也可以直接get是吧。Big Dis对吧,他有的他不是没有,但是呢,这边写了嘛,我就没改了,懂吧?啊,这个姚总提出来没有问题啊,其实按道理来说,涉及到金额的,咱们应该用decem OK吧,但是呢,前面已经写好了,没改了,那就算了,那就这样了啊好,那这是转成我们的招聘了啊,就是里边就这几个金额对吧?啊,你注意一下,就字段不要搞错了,还有这两个字段呢,它有可能会空。
07:21
是不是有可能会none啊,因为业务表没关联上嘛。U标没有数据,你想想看,是不是它是个nu值啊,所以呢,你要不能直接跟这两个值一样直接取它,你得考虑它那值的一个情况。OK吧,啊,当然呢,这边我觉得还可以这样写。啊,后面不行了,给个key啊,它是get default get default那比较麻烦,那个还是object类型的,那么就这样写吧,好呃,这样的话CTRL加V得到一个叫trade的SKU。对吧,啊,咱们就得到了这样的一个对象啊,那接下来呢,分组开装聚合,我们一块来写下叫trade的sqo的DS点分组K啊,那这个呢,是当前这个对象。
08:11
然后get谁啊。SKUID对吧?按照它进行一个分组,卡尔加菲得到一个。Kid by。SKU。对吧,得到一个它啊,当然你可以一并写,也无所谓,把分组开张聚合写在一起。呃,然后继续点window。Off time.SECONDS10秒,然后继续点video。对吧,啊这个点。好,那这边。你有一个reduce function。用一个window。
09:05
呃,那这里面呢,还是一样的,我们返回Y61,那这里面无非就是说要有五个字段合并对吧?诶,哦,对,这个没写呢,忘了,我突然想到了网上一看,对吧?这个东西没写,那等会毁了对吧,全是俩空,那这写呢。别忘了啊,那这边呢,杰森点get stream,你们是不是有人看到了,不告诉我,是不是告诉我。是不是有人看到这个点,然后不跟我说。是不是有吧,肯定有人啊,坏的很。对吧,看一下这边叫。S KD SQ name。SKD跟SQ name。啊,我当时。想写,然后呢,忘了。看到了,以为是自己错了啊,就应该写空,你的意思是吗?啊,那肯定不行啊,对吧,你要写空我这儿干什么去,这这分组有什么用啊对吧?好,那检查一下呃,没有问题吧,那这里边呢,我们无非就合并这五个字段,把集合要合并对吧?然后呢,这个四个金额要合并,我就不写了啊这个东西对吧,直接拿过来啊。
10:25
找到我们代码这个还不好找呢,我告诉你还比较麻烦。往上翻应该能快点啊,因为这是聚合,诶在这对吧,呃,那Y61把这个拿过来啊。少一个。少一个少一个谁啊,少一个咱们的这个集合对吧,因为集合是我这次加的啊,之前他们给砍掉了啊,那这个呢,我们就Y了一点。嗯。Get,那个叫什么all I?第。Set对吧,点AO,然后value2.getid好了,对吧,这两个集合要拼接在一块,这四个金额就不用说了吧,对吧,肯定要拼接到一块儿好,那这边呢,要补充的信息。
11:12
首先那肯定还是之前一样,那四个对吧,把那四个先拿过来啊。随便找一个。这四部对吧,A2344部啊,然后这个地方呢,得写成这个招聘没有问题吧,呃,这个不叫Y64叫input。啊,因为一个是全量窗口,一个是那个,一个是监控窗口,一个是data SIM窗口,它里边两个参数不一样,一个叫value,一个叫input,那除了这个之外,咱们其实还有一个东西也要给一下什么呢?这个是特殊的点。叫all count。啊,那取的就是next。点。
12:00
All的IDs.size。对吧,在我们这个地方,因为这是干什么,来一条数据,我。聚合一个来一个聚合一个对吧,在这个set里边自动会进行去重,好,那当窗口要输出结果了,在这个window function里边是不是最后取一下它的长度,然后呢,设置为订单的。个数。对吧,它跟之前不一样的地方就一个这对吧,它是集合,你不能直接是不是加了,你加不了了,对吧,那还有第二个在这。对吧,你得多。设置一个字段有没有问题?虽然跟这些整体上来说是一样的,但是还是有一点点这个。差别的。OK吗,这块。大家有没有问题?没有问题,可以扣波一啊。
13:06
这就是我们之前所说的内容吧,对吧。好,那这块呢,我们就得到了一个reduce DS。把这个。
我来说两句