00:00
呃,那么再往下走的话呢,咱们就得来看一看了,除了省份之外,咱们是不是还得和用户这个维度关联呀,对吧,所以说呢,咱们现在把我们这个和用户维度关联呢,这个事儿给大家做一下来来到这里我们呢,还是来到我们这个order in for对吧,来到order in,然后接下来呢,我现是吧。把这个拷贝一下啊,我这拷贝一下往下走,和省份关联完了,这个呢,主持掉了,然后接下来这个呢,是我们第六个功能干什么呢?和我们的用户维度啊来进行关联,和用户维度来进关联,那你们觉得用户这个数据量数比较大呀,对吧?那如果说我现在的机器上对吧,那如果说对吧,要是把它以广播外量的形式去发送的话,这个driver是不是有可能扛不住啊,对吧,所以说呢,这块注意啊,那我现在的用户这块呢,我就不用咱广播变量,如果不用广播变量呢,还是干什么以分区为单位的,以咱们这个分区为单位的对伍的数据呢,来进行处理,对每个分区来拼接一个我们这个circle口,然后到我们这个菲尼克斯上。
01:15
来查询一下我们这个用户对这个数据大概这样的功能,对吧?那这块其实是不是咱们这个重复代码呀,那如果想做这个事的话,注意看啊,跟着我的思路,首先呢,以分区为单位,那么这个时候应该是什么?Map partition,对吧?然后接下来咱们现在呢,在这里,那应该拿到的是什么?拿到的是订单吧,只不过这个订单呢,现在它里面是不是已经有省份的信息了呀,对吧?所以说order info a tr,然后接下来咱们呢,要对它进行处理,第一件事干什么?转换呗,是不是转换为集合呀,转换为咱们这个粒子集合,然后呢,咱们去调用我们这个order啊,Info at tr,它点to list的这个方法,然后咱们现在呢,把这个东西转换为order in for list,对吧,然后接下来,那么最终返回什么呢?咱们是不是要把这个集合再给转换成迭代器给返回去啊,点to。
02:15
我们这个actator,对吧,给它反过去,那接下来你要从这里答谁和上面其实一样的同学们思路,我是不是要获取咱们这个当前这个这个分区中所有的这个给这个所有下单的用户的ID啊,对吧,我要获取所有的用户的ID,怎么获取呢?那应该是order in for list的点,我要现在卖一下,然后把我们的user ID给获取到,然后VR,对吧,定义变量来接收对吧?那这个应该是user ID list是吧?然后接下来,那么你拿到ID之后,你要干什么,你是不是得根据咱们的ID拼接我们的搜语句,到我们的菲尼克斯查询下,要根据我们这个ID来拼接我们的SQL语句,到哪呢?到我们的菲尼克斯上啊,到咱菲尼克斯上去查询我们这个用户出来啊,去查询用户对吧?那么首先呢,我定一个我们这个circleq对吧,这个呢是我自号类型,然后接下来我们现在呢,去写select。
03:15
那么用户里边呢,应该有这么几个字段,对吧,大家看一看用户里边它所拥有的字段ID user level吧,这个字段还挺多的啊,找到我们这个用户里边是吧。把这个呢给拿过来,把这个拿过来。你也可以到咱们一些文本编辑工具之后呢,呃,文本编辑工具里边把它替换一下,这也行啊,对吧,比如说我现在把它放到我们这个sub里边,把所有的双引号替换一下,就不用像我这么傻一个个去,对吧,给它一个删的来,那么select咱现在这些内容,然后从哪呢?从我们这个用户表里边来查,对吧,这个呢是我们的用户表名称对吧?然后再加条件where咱们这个ID,然后接下来括号。
04:09
行这个这个单引号对吧?那么单引号里的内容什么呢?那应该当了大括号来获取对吧?咱们现在要取的是谁?是不是有点ID这个list呀,对吧?然后呢,咱们现在在这里把user ID list拿过来点mix这一下,然后呢,用什么来分隔,用两个单引号中间一个逗号是不是来分隔一下呀,对吧,这块不算坑了同学们对吧?然后接下来,那么我现在呢,要执行那应该是菲利克斯是吧?U点我们的quary list,把SQL啊作为参数给传过去,点VR这个得到的什么说得到了一个user list呀,返回的是我当前的订单中,就是当前这个分区里边所有下单的用户吧,对吧,这块他返回的是当前分区中所有的下单他的一个用户,那你想一想,我现在是不是开始对订单做一个便利了呀,对吧,那我现在做便利的时候,我是不是得把咱们现在这个用户的信息和我们现在这个订单信息关联起来呀,所以说。
05:09
那我这里边为了关联方便,是不是还是应该把它转换成一个这个外B集额进行处理啊,对吧?所以说呢,我现在要对我这个用户的结构做转换,怎么转换呢?User a user list,然后点map做一个我们的映射,对吧?做映射这里面放的什么呢?这里面本身放的是user JA object,咱们现在呢,要把它转换一下,怎么转换呢?咱们可以通过Jason,它里边有一个叫to Java object的方法,把user Jason object这传过去,然后呢,咱们给它传一个class of,对吧?然后这里我要放的是我们的user inform,放的user in inform对吧?把它转换成我现在这个user in for这个对象啊,然后接下来点VR啊,那么返回的是我们的user in inform,那么最后咱们在这里给它封装一个我们的元组user INF inform,点我们的个ID,这是一个user INF inform,然后自己给它返回去,对吧,然后。
06:09
咱最后这里把它给它to map一下,然后呢,咱们现在返回的应该是一个user map,对吧,到目前为止同学们能跟上我敲的代码吗?其实咱们发现那代码是不是重复的呀,对吧,就是一点点重复一点重复对吧,所以说大家下去呢,也是啊,一开始第一个比如说我在咱们这块这这块的时候,你呢,可能跟着这个稍微的困难一点,但后来你发现在做咱们这个功能的时候,其实和咱前面是一样的了,对吧,只要有思路,这个代码你肯定能敲出来啊。然后接下来呢,那么咱们要来看一看,把这个map呢拿到了,那接下来我是不是得对我的集合做便利了,便利谁便利订单吧,那order in for list点我们的个for啊循环,然后呢,去便利我们现在订单,然后每变一次得到一个order in for的对象,对吧?那么接下来咱们现在给它来做一个处理,怎么处理呢?通过order for咱们可以拿到谁呀?是不是可以拿到UID对吧?然后接下来咱们呢,在这里我从user mapb里边,我是不是有一个叫get or l的方法,对吧?你这个key是不是就咱们ID啊,所以说呢,我可以对吧,把这个UID对参数给传过去,那一样的道理,咱们本身呢,在我们这个map集合里边这个U化D啊是string型,但是呢,我们在我们订单里边这个东西呢,它也浪类型,咱们需要去做一个转换对吧,在这里扣string一下,然后在这里如果没拿到的话,给他返回空对吧,那么咱们可以得到一个用户对象啊,得到一个用户。
07:43
Info OBD吧,和上面区分一下啊,和咱们上面区分一下对吧,然后接下来那么你拿了对象之后呢,那咱们可以做一个判断,怎么判断呢?如果说我当前呢,这个东西用户对象它要是不等于空的话,到在这里啊。
08:02
它不等于空,那说明咱们现在获取到值了,那获取到值咱们要干什么呢?那你这里给它赋值呗,对吧,Order in for对吧,来在这里,然后它里边看一看有哪些内容,大家想一想,咱们现在这里边啊,它里边是不是有用户相关的呀,一个是年龄段啊,一个年龄段,那么咱们可以通过user info or点什么呢?对吧,Age group来给复制,那么另外一个order in for点咱们还有一个order in inform点我们的user gender是不是咱们这个性别呀,对吧?你看咱们现在在我这个订单里边对吧?在我订单里边看订单的这里边他。有什么呢?是不是有性别对吧,这个性别呢,其实就是我们男女对吧,所以说呢,那么你在赋值的时候对吧,那应该从我们的user in for or里边,然后把谁呢,把咱们现在这性别的名称给它打过来,赋值复过去。
09:07
好了,这是关于什么呢?这是关于啊,我们现在和用户维度的一个关联啊,和用度维护的一个关联。能跟上吗?来看一会儿是吧,两分钟把这个代码看一下是吧,和咱们的用户维度关联,两分钟看一下这个代码。那么代码写完之后呢,这个东西到底要起不起作用咱不知道,所以说呢,把这个做一个测试,那么如果做测试的话呢,那这块其实你要正常情况下这个user APP,那你也应该把它提起来,但我们说这个数据是不是已经保存到HB去了呀,对吧?所以说这个呢,你可以不去其的对吧?那如果不去其他的话呢,咱们现在起的这个分流的APP,那你要起,然后咱们订单的这个呢,那也要起,把订单的重新起一下,咱们呢在这里为了看到效果做一个输出,对吧?我们把它呢也抽取一下啊。
10:14
点2V2对吧,那么这个是谁呢?这个应该是我们这个order in for,然后with,现在又多了我们的user in for stream是吧?那么如果你这块抽取这个名字的话,那么咱们现在下边呢,可以把它给做一个打印输出是吧?可做一个打印输出,那么下边你再去维护咱们这个首单的时候,同学们这块那你是不是也得对吧?用我们刚才抽取这个新的这个Dis子推呀,这个别忘了改啊,这个别忘了改对吧?把这个东西呢,那也要改一下好了,那咱们现在呢,来去运行我这程序啊,来看一看。能不能够把我们现在这个省份,还有我们现在用户都给关联起来。来到这儿去执行一下啊,来执行一下。
11:05
把这订单数据呢,生成了对吧,那么生成完之后呢,咱们到这里来查询一下,看一看啊在这里。好了,那咱们现在主要看谁呢?就主要看这部分内容了,同学们,30岁以上的一个男的对吧,30岁以上男的对吧?那你可以看一看啊,咱们现在要验证一下同学们这个对不对,比如说就拿最后一条数据吧,这个最后一条数据这个3648应该是什么?应该是订单ID吗?差不多吧,来看一看,咱们在这里,我现在来到我订单表中啊,来到订单表中,然后有一个3648,这个是不是咱们现在这个订单的ID,刚才你在这里看到的这个3648,那么当前3648这是哪个用户下的单的,这里是不是有个优优的ID啊,59吧,对吧?那咱们下载的用户表里边,然后看一看59号这个用户对吧?是谁59号对吧?这个用户。
12:02
阿圈是吧,呃,鱼圈是吧,就就是和那个鱼圈差不多是不是,然后大家看八零,然后呢,咱现在是不是我们卖了,是不是30岁以上的一个男银啊,对吧,所以说这个呢,应该是没问题的啊,没问题的对吧,那这样的话,咱们现在呢,在这儿对吧,我们这个省啊这这个然后呢,以及我们现在这个用户端这个就关联上了啊,这里还有一个口这个这个是什么玩意,看一下。这里有一个失效时间,然后创建时间,还有一个操作时间,咱们现在因为没有更新嘛,对吧,这个东西操作时间是不是空的呀,对吧,这是正常的,因为如果说我现在要操作的话,要更新的话,这个操作时间呢,才会才会有值,什么时候都得做更新操作是吧,好了,那这样的话呢,咱们这个是吧,和用户关联,这个就完事了,我停一下。
我来说两句