00:00
来我们要做的是插入数据,这个数据呢,在我们之前呢,其实已经得到了,就是我的每一条的那个通话日志,那我现在数据拿到,拿到以后,那我这里呢,就有了这条数据,那我在接下来我该干什么呢?我在这里应该应该做什么事情啊,是不是将我们的通话日志干嘛呀,通话日志它保存到我们的s base的表中啊,诶表中啊就是这样,很简单,就是增加进去,那你增加进去的话,那其实不就是往里面增加数据嘛,那所以我们就写上干嘛呢?我们叫put啊put date,咱们叫增加数据,那你要增加数据的话,我们这里来一条我增加一条,来一条我增加一条,那我这里是不是应该准备一个put呀,对不对,我应该准备一个我们的new,我们的put,诶咱们应该是这样,那这个put呢,它会有问题,咱们一会儿再说,咱们接着往下,那我这个地方呢,应该是我们的什么put,哎,给它放进去,那也就意味着这个方法我们是应该事先准备好的,你不就是要去增加数据吗?那所以在这个情况下来吧,我们现在准备来增加数据。
01:12
啊,这个忘了写说明了啊,咱们写上叫删除表格啊,然后呢,我在这里就写上protected啊来,然后呢,我们我们叫put date,你要增加数据,那你要增加数据的话,你得告诉我告什么呢?你对哪张表来增加数据,你得告诉我,所以我们写上叫做什么string,然后呢,我们写个什么呢内啊表的名称,然后接下来你要把那个put给我传进来啊,你告诉我你准备怎么增加,诶把这个呢给它加上好了,那我现在这么写完之后,接下来我要做的事情就非常的简单了,我现在要先获取我们的表,获取我们表对象,然后我们写上叫增加数据啊,来增加数据。
02:01
然后呢,关闭表啊,所以我们在这里呢,来写上咱们叫增加数据啊,来增加数据,OK,那行,那接下来呢,我们要获取表对象,那我们就得获取到我们的connection,所以呢,我们写上叫connection,这个connection呢,它等于这个等于等于我们叫get connection好,写完之后这里有异常发生,给它抛出去,咱们好,接下来我的connection有了,那我的connection点我们叫get table,这个table呢,需要一个table name啊,我们叫value off,把这个表明给它传进来,传进来以后我得到的就是我的table,这个咱们之前写过了啊,然后呢,我们来把这个table呢给它拿过来,嗯,这样的话呢,我的表就有了,那你表有的话,那就太简单了,我们这里直接点什么了,我们的put不就完事了吗?所以把这个put我们传进去,然后呢,我们这里呢,再把table给它close啊。
03:01
反正你每秒钟是两条,就意味着每秒钟才插入两条数据,这个关闭是没有问题的啊,所以我们这个相对来说就比较简单啊,我们直接put date了,那所以我们这个put只要准备好的话就可以了啊,这里呢,有异常发生,给它抛出去,咱们叫exception OK,好了,那这个咱们写完了之后,咱们接下来咱们要做的就是把它准备好啊,然后呢,加个表明,这个表名叫names,点我的table,点我们的get value,诶就是往这个表里面插入啊,咱们这个可能也没写清楚啊,应该是那个CT的那张表啊,就嗯。好了,那这个咱们有了之后,就剩下它了,它我该怎么办呢?首先咱们别的不说,你应该先把通话日志拿到吧,诶,所以我首先第一个啊,来我们写上一,咱们叫获取通话日志,获取通话日志数据啊,日志的数据,这个数据太简单了,就在这个value里面啊,然后接下来我们再写上啊来我们写上二,然后呢,叫做什么呢?叫做创建啊,我们的创建我的数据对象其实就是那个put,然后呢,我们再写上保存数据,完事儿啊,三步咱们写上叫保存数据,保存数据好,那通话日志数据不就在这儿吗?可是这个是一个完整的字符串,这可能不是我想要的,我想要的是把每一个字段给它取出来,那所以在这里面呢,我需要分解一下,所以我们写上叫value,点我们要分解叫split,那么你split的时候,你要千万注意了,我们的那个字符串是不是有格式的要求啊,对不对,所以我写上写。
04:38
杠T啊,用tab键给它隔开的,那我这里呢,要用tab键给它分解啊,好,那我就得到了我们的什么呢,叫value啊,咱们这边。咱们叫values,诶好行了,我现在呢,就把这个得到了这个数组,嗯,那我写完之后,那我数组咱们说过了,是按照特定的格式来进行操作的,所以特定的格式里面就有要求了,第一个,第一个是什么呢?零吧,零代表什么意思啊,零是我的号一吧,哎,一就代表的是我的扣二啊咱们,诶算了,别这么写了,直接写上吧,咱们就写上叫扣一,它就是我们value是然后呢,写上一个我们的零啊,然后呢,把这个准备好,嗯,然后这边写个CALL2,那就是我们的一了,然后这个呢,我们叫call ten啊,是我们的通话的时间,这是我们的二,这个呢是我们的duration啊,咱们的duration,那这是我的通话时长啊,这里给个三,那这样的话呢,我分解之后,我想要的数据都在这里面了,那好了,都在里面以后呢,接下来这块我们就开始要准备数据了啊,这个是我们的put,我要放一个我们的rookie啊,所以我点一下。
05:50
我这里呢,直接看一下吧,点点完以后这里要传一个BY的数组,那所以我就写上叫BY,我们的数组点To By,那我在上面呢,就要准备一个了,咱们叫咱们叫OK,好,那我现在呢,这个我放进来,这个put我就准备好了。
06:09
那咱们假设这块是可以拿到的,那我现在put准备好了,还需要什么,是不是需要把每个字段给它保存进去啊,哎,所以我们的put点我们要增加我们的列,对吗?那你增加列的情况下,那这时候我们来了啊,首先第一个咱们别这么写了,呃,不放这啊,放到我们下面来,放到下面来的话,这里呢是我们拜的宿主,咱们叫family,哎,Family,这个family呢,我们的里面的family,我们现在比较简单To Bit是我的那个叫names,点我们有个叫对吧,点我们的get value,哎,这个咱们就有了,然后接下来是什么,是不是我的列呀,啊,咱们的列啊,咱们叫column,诶好,这个column呀,这个列不是说只有一列,为什么呢?因为你的第一个电话号码他呢都应该有吧,所以我这么写还不能这么写,你这么写的话,它会写要多,这个咱们就不管它了,所以这个咱不要,不要了以后咱们。
07:10
上来把这个family,因为它是固定的呀,所以把它翻过来,放过来以后呢,我们BY点我们的To Bit,然后我写上第一个,哎,就写扣一,那Y6是什么。Value,什么value是不是就是它呀,哎,这就号一啊,所以我们这么写就行了,我们有的同学在这个环节会出错,为什么呢?他这么写的。他这么写的有没有问题啊,有吧,你看到好像也没什么问题,对不对,那是因为我们应该把这个分解之后的这个电话号码放这儿吧,而不是把一个字符串放这儿啊,咱们有的同学这块容易写错啊,所以把这个地方呢,我们拿过来啊,咱们放到这儿好了,放完了以后,接下来我多写几遍啊,多写几遍,那这个呢,应该就是我们的CALL2,那这个呢,就是我的core ta啊,然后这个就是我的duration,诶把它放过来,所以这个呢,给它放过来call啊,然后呢,把这个CALL2诶给它放过来,所以这样的话呢,只要你把我们的rook key准备好,把我的每一列的数据准备好,我一增加保存数据,那整个的业务呢,就算是完成了啊,行了,现在这块呢,准备的差不多了,就剩下这儿了,叫r key了,这个r key我们该如何来做?
08:28
这个r key咱们该怎么做呀?同学们想想,那这个时候你可要记住一件事情,咱们这个r key的设计是非常重要的,对吗?所以我们接下来就要说一下rookie的设计啊,所以rookie的这个设计啊,来把这个rookie的设计,我们要说一下这个设计呢,分几个原则,第一个。叫什么呢?叫长度的原则啊,长度原则啊,然后呢,第二个,第二个是什么呢?是它的那个唯性原则,唯一性啊,唯一或叫唯一原则吧啊,唯一性原则啊,然后第三个叫散列原则。
09:07
啊,咱们叫散略原则,有的三个原则啊,就是这样的,首先这个唯一性的原则就没什么可说的了吧,你要保证我们rookie的什么是具备唯一性对不对,因为这个跟我们的关系数据库不一样,关型数据库有索引之类的,那会直接报错的啊,那我们这里呢,需要保证这一点啊,所以来写上我们的rook key啊,它应该啊具备唯一性啊,咱们的具备唯一性,嗯,你在增加数据的时候要考虑这这个事情啊,不能说说啊,我这个数据可能会重复,那最好不要这么做啊,一定要加上一个V啊,这个比较简单了,那长度原则是怎么回事呢?我们之前讲过它这个长度原则,它的最大什么,它的最大啊,最大的值应该是什么呢?64KB啊,然后呢,我们推荐啊,咱们推荐的这个长度呢,长度为咱们叫十到100,十到100的什么字节啊,咱们的bit应该是这个样子,推荐长度啊就是这样,但是告诉大家啊,我们最好啊,最好是多少呢?最好是我们的八的倍数。
10:16
八的倍数啊,然后我们写最好最好是我们八的倍数啊,咱们的倍数,为什么呢?因为咱们现在的操作系统呢,一般都是64位的,64位的话,你是八的倍数的话,比较容易处理啊,一般都是这个样子的,所以86 32 64应该是这么个样子啊,但是呢,我们这里呢,八的倍数呢,我们说啊,写上咱们能短则短啊,能短啊咱们则短啊,就这意思就是说啊,能短的情况下,你不要写太长,为什么呢。因为它涉及到我们存储的什么效率问题啊,记住我们的长啊,我们的r key r key,如果啊,如果太长啊,如果太长的话,太长会影响咱们的什么性能,为什么呢?因为你的肉太长了,那么你数据量一多以后,存储的空间就会变大,而且它会放到那个s file当中,S当中会有缓存,就意味着它会大量存储你的肉,那么你真实的数据存的就少了,那么这种情况下,我们能够缓存的数据就变少了,那你的性能就会受到影响,所以我们的肉啊,它的推荐长度是十到100个字节,也就是说你在满足你查询的需求的情况下,能短则短啊,能短则短,比方说我16个就够了,OK,我就写16就完事了,那如果16不够的话,我32个看能不能够啊,如果能的话,诶,我们也去增加啊,就这样就是能短则短啊,满足你的需求的情况下,不要再增加别的东西了,所。
11:46
对,这是我们的长度的一个原则啊,就是首先它有这么一个要求在里面,那么唯一原则就是它应该具备唯一性,这个没什么可说的,接下来才是最重要的,叫散列原则。这个散列原则是什么意思呀?就意味着你有多个分区的时候,我是不是应该根据r key的判断放在不同的分区里面,它的目的也是为了提高效率,那怎么能够保证我们的uke放在不同的分区里面呢?就靠闪猎,那就靠闪猎就跟哈希就有关系了,所以它里面有一个三杠一,三杠一的第一个是什么呢?就是颜值散裂,颜颜值散裂。
12:27
啊,咱们之前是不是说过叫颜值加密啊,对吧?一个道理啊,什么意思呢?就在你什么,比方说在你的时间戳,记住啊,咱们千万别把时间戳直接当成肉,这里我再加一张啊,就是来咱们不能是吧,不能使用我们的时间戳啊,时间戳直接作为什么呢?咱们的直接啊,来咱们作为我们的肉key,为什么,为什么不能使用时间戳直接作为咱们肉key啊,因为你的时间说是不断在增大的,对吗?那这样的话,你放到某一个范围里面的数据,它是不断的往后加吧,前面的分区可能就得不到,对吗?所以在这种情况下,你不要用我们时间戳作为揉key,它会影响我们的效率,导致热点数据的存在,导致我的数据倾斜,这个我们是不行的,那如果不能用时间戳,可是我恰恰我需要时间戳怎么办?那这个时候你可以增加什么颜值,你在时间戳的什么前面加一些随机数,所谓的。
13:27
颜值就是加一些随机数,加一些佐料,这个颜值呢,你可以理解为就是加一些什么随机数的意思啊,所以我们第一个啊,就这个东西我们写上,就是在我们的R前啊,在R前我们增加我们的随机数啊,咱们的随机啊随机数比方说四个随机数,那你大家想想,你是随机数的话,那么就没有什么规律吧,你没有什么规律的话,它就可以什么呢?放在不同的分区当中,可能没那么准,但最起码要比直接用时间桌要好很多啊,所以啊,我们有个颜值散略的概念啊,然后呢,好,再来一个啊,还有一个是什么呢?来咱们写上,咱们叫做什么呢?咱们叫做嗯,字符串的一个反转,咱们叫字符串的一个反转。
14:13
啊,这什么意思呢?就意味着我们刚才说了,你不能用用使用时间戳直接作为r key,但是你把这个时间戳这个字符串你反转一下。反过来,那么这个时候就会好很多,这啥意思呀?啊同学想想你我们这我们这个时间戳是不是前面都是一样的,但你后面会变化很多吧?那这样的情况下,是不是大家看你你你再来,其实也就意味着前面是一样的,但你后面可能不一样,对吗?那所以说后面没规律,但前面是不是有规律,那这样的话就会导致放在一个分区当中了,那么就热点数据了,那么你反转之后,大家想想你反转之后是不是就意味着前面没规律了,你前面没规律的情况下,是不是就可能会放在不同的分区里面了?哎,就这个意思啊,所以有个字符串的一个反转操作,这个在什么时候会用的比较多呢?告诉你一个是时间戳,还有一个是电话号码。
15:13
咱们的电话号码,咱们的电话号码为什么也会用这种反转的方式呢?那是因为咱们电话号码是11位的对吗?咱们11位,但是记录这是有规律的啊,有规律的,为什么说有规律的,同学们为什么这么说?因为我们真正的电话号码应该是这么来记,是三位加四位加四位应该这么来记,你这么记电话号码才是对的,为什么呢?因为前面三位表示的是运营商的编码。啊,什么中国移动啊,中国联通啊,中国铁通啊,对不对,这是我的什么,我们的运营商的编码,那这个呢是什么呢?这个是我们的地区的编码啊,地区的编码,所以地区的编码它也是有规律的,比方说北京地区是完全一样,完全一样的情况下,就意味着我们这个什么地区里面的号码呢,就有规律了,啊就这么回事,那这啥东西,这个叫用户编码,记住这个叫地区编码,这个叫用户编码,这个叫运营商编码,那么也就意味着我们在推出套餐的时候,前面可能都是一样的,比方说中国移动它推出了一个什么一个套餐,这个套餐在回龙观地区有这什么发行,你发行的话,大家会发现怎么了,前面都是什么一样的,恰恰是什么后面不一样,所以他可能会让你什么选号啊,让你选号啊,就这么回事儿了,所以说后面这个没规律,但前面一定是有规律的,所以说我们反转之后,记住如果你不反转的话,你。
16:47
你这些数据就意味着这一个套餐当中的所有的电话号码可能放在一个分区里面了吧,那你的数据的通话记录就全放进来了,那这样的话就感觉不是很好啊,所以我还是需要能够均匀分配,那么怎么均匀分配啊,你把它反转我的电话号码之后,让这个没有规律的用户编码放前面,那么这样的话你后面有规律没关系,为什么呢?跟我诶关系不大,那这样的话我就可以放在不同的分区里面了,性能就会得到提高啊,所以这是我们的一些散裂的原则,可以增加颜值,可以增加我们的支付块反转啊,就是这样,然后呢,还有一个是什么呢?咱们三杠三。
17:24
就是计算啊,咱们写上叫计算分区号,这什么意思呢?就意味着你通过你自己的规则把分区号给它定义出来,那这样的这种情况下,那么你让它没规律就行了,你自己给它计算一下,就好比我们那个什么哈希map一样啊,就跟我们那个哈希map一样,你哈希map不就靠一个公式来计算出的我的那个什么位置吗?那个不就没规律吗?诶,所以我们就可以通过一种计算的方式来得到我们的分区号,那么这个里面一定会有什么我们的散列原则在里面啊,你不能说让它有规律,所谓的散略就是让它没规律啊,就是这么一个概念啊。好了,那我们的rie的设计这几个原则给大家介绍了一下,那我们这个rie咱们应该采用什么方式呢?首先我们这里是不是电话号码,但是光电话号码还不行,为什么呢?因为你恰恰咱们有好几个分区吧,所以我们其实是。
18:24
应该干嘛的呀,应该计算分区号了,为什么?大家想想我刚才咱们是不是已经把我们的那个分区键准备好了,你分区键准备好了以后,咱们的那个分区效果是什么样子的?如果有三个分区的话,那应该什么样子,是不是负球,这是个零,这个这是个零,这是个一,对吧,这是个一吧,然这是正无穷对不对?那所以说什么样的数据能进到这里面去,那么一定是我们的当中是以零开头的吧,零开头后面随便写吧,就能进去,如果以一开头的随便写,以二开头随便写吧,对不对?那所以说这个就是我的分区编号。
19:03
分区编号你可以这么理解,零就走这边,一就走这边,二走这边,那这个零和一和二能自己来写死的吗?不能,应该是算出来的,对不对?所以我们首先记住我们当前的RK的设计就应该计算分区号,所以我们这边写上咱们的r key,它应该等于什么呢?它应该等于我们的region,咱们的region的number叫分区号,那么你光有region的分区号还不行,你还得加一些条件,比方说张三在这一年当中干嘛呢?比方说我们2018年十月份我打了多少个电话,那就意味着我查询的时候是不是根据我的打电话的人呢?主教用户吧,所以我的rie里面应该把它加上,所以我这里还应该加什么呢?叫CALL1,把那个主教用户给它加上,然后我刚才说过了,我要2018年的十月份的通话时长,是不是还应该有时间呢?所以我还应该加什么东西啊,加上个time啊,时间啊,我应该把这些东西都加上啊,那既然都加上的话,我可以再加。
20:03
咱们呢,咱们的扣二什么意思啊,我给谁打的对吧?然后呢,你见这个能加上了,我再加一个叫你打多长时间是不都可以啊,记住我讲过了,咱们这个是不是要满足我的需求啊,如果你发现你的需求中跟他没关系的话,你是不是可以不用加,也可以不用加,但是如果你业务中跟他有要求了,你就得加上,举个例子,我想看看我2018年我十月份我给哪些用户,给哪些我们的什么人我打过电话,那么我要统计他的次数。比方说我给张三打多少个,给李四打多少个,那么你难道这些东西不要吗?是不是也得要啊,啊,也可能得要啊,所以在这种情况下,我们这里为了简单呢,我们为了方便,我就全给它加上了啊,其实呀,要业务中没有的话,我光加这两个也就够了啊,这个呢,咱们后面再说好了,那么我们的R应该这么设计,可是现在就差一个了,差个什么呢?差他。这个我们怎么得到的?
21:03
这个我们是不是有,我们说要计算呢,你得有个分区的算法对不对,所以也就意味着你还不能够说直接就给他拿到,所以啊,我在这里面咱们看看啊,我这里正好有一个分区键,那我再写个分区号吧,所以我们写上一个protected啊,我写上咱们叫做分区号一个它咱们叫生成我们的region number啊好了,那你生成我们的region number,我就问问同学们,我需要哪些条件和参数来生成它,我需要哪些参数,记住分区号,记住我们分区号的目的是把你的数据放在哪个分区里面吧,那你放到哪一个分区里面,那我就看看,我要想一想,我们在实际的这种什么情况下,我们哪些数据应该放在一起吧。哪些数据放在一起,它的分区号应该相同,对不对?那么哪些数据应该放在一起呢?我会查询快一些呢?我刚刚才说过了,某一个用户在2018年的十月份我要统计,那为了查询快,我把2018年十月份的数据放在一起,是不是更快一些,对不对?就这意思就是说我哪些数据我放在一个分区里面啊,就看我的查询,我的统计是什么样子的,我2018年十月份张三的数据我放到一块儿,我的统计一定快,那所以也就意味着我要根据我的电话号码和我的什么时间啊,通过这两个来计算,老师呀,那你能不能通过那个日期呢?
22:26
比方说我2018年十月份的11号,我打了多少个电话,我统计我的通话时长行不行,是不是也可以啊,但这种情况会少一些,为什么呢?你说我今天啊打了多少个电话,那我不可能统计的什么不多,但是我一般统计什么呢?我统计一个月当中会比较频繁一些啊,我们一天那一天当中打几个电话大概有个数对不对,不可能太长嘛,但是我一个月我可能需要统计一下,所以啊,我们这里就不考虑那么更细的情况了,我这里就考虑每个月的数据我放在一起,放在一起之后给它存在一个分区当中,提高它的统计和查询的效率,所以我们的这个方法呀,我传两个参数,第一个是什么呢?我们的call啊,打电话的电话号,或者不叫call就叫tell啊,再来一个就是我们的日期,咱们的date啊,所以我们这里写上啊,咱们来咱们叫计算,咱们叫计算我们的分区号,把那个分区号给我计算。
23:27
出来,那我怎么计算呢?既然咱们前面讲过的一些内容,那我们都要把它利用上,举个例子,首先第一个咱们这个电话号码里面是不是有规律,有规律,我们有些有规律的数据就不要了,咱们要那些没规律的,所以我写上咱们叫u code叫用户编码,用户编码呢是什么呢?点我们叫做什么substream,我们讲我们讲过电话号码的前几位是没什么用吧,对不对,那么我们说13301234567对不对,我们只把最后的这个给他拿到就可以了吧,那这个我该怎么写?
24:04
我是不是可以用点我们的长度减去四啊,可不可以,可以吧,对不对,我减去四是不就完事了,你减去四以后不就把最后四位拿到了吗?拿到了以后这就是我的用户编码,它没有什么规律,我把它先拿到,拿到以后我还要把日期,这个日期我可不知道它到底什么格式我不知道,最起码我可能是2018年的什么带我们的时间十分秒的,这个可能是不是我想要的,但是没关系,我写上咱们叫year啊,咱们叫做什么呢?Month。我们说了,我们现在要求的是年和月相同的放在一个分区当中,所以我就写上,咱们叫做什么呢?叫date点,我们叫做split split,对吧,咱们叫sub string sub string以后写个零,写个六。能明白什么意思吗?杀死对应是不是截取字符串,刚才我们是传了一个参数,表述的是从哪一个位置到最后,现在呢,我是传两个参数是从哪到哪吧,包含零,但是不包含六,对吗?所以说我现在比方说我2018年的10月10号的12.0000,这是我传的一个字符号过来,那么我们要取的是不是它呀,你把这两个给他取到就OK了啊好了,那你这个取到以后,那我现在这两个字咱们是不是都有了,都有了以后我要干什么呢?很简单,我写上咱们这么写叫u code的哈希,咱们要做散裂的吧,你要做散裂的话,我的u code咱们哪会做散裂,不会,但是没关系,咱不会有人会呀,是吧?哈希code就完了嘛,对不对?然后呢,再写上叫year month啊,咱们的month的哈希,它等于year啊,咱们点我们的哈希cold啊。
25:54
点哈西扣的,那这样的话,首先先把哈希扣的给他取过来,但这个也梅哈西吧,梅哈希没关系,梅哈希是梅哈希啊,我们再来,咱们叫CRC。
26:06
这咱们说过没有,有一个叫CRC验证啊校验呢,那这里呢,我们当时讲过这个CC校验啊CRC校验,这个校验呢,它都采用的是什么呢?采用的是抑或算法啊抑或算法,所以我们就简单了,既然是抑或的话,就把这个拿过来,拿过来以后呢,把这个呢放过来啊,把这个放过来。这就是我们所谓的异或算法,异或算法呢,就是我们每一位的两个值不相等,它是一相等就是零啊,这叫异或算法啊,所以有这么一个校验,一个规则,这个呢,在我们底层呢,它也会用得上啊,也会用得上,但是你光拿到这个值只是个抑或它有可能是个什么,有可能是个负数,所以呢,我们来再给它加一个叫A,取个绝对值。啊,不让你是个负数啊,所以把这个放过来啊,好了,那我现在这么写完了以后,你光取到它,我们说我们的一个抑或值就有了,但这个值你可不见得它能够满足我们的分区的概念,为什么呢?比方说这个值是不是可能是100啊,可能是200吧,但咱们这个分区号可没那么多呀,咱们可能就是一二吧,那该怎么办?
27:22
这就记住啊,这个就好比像我们哈希曼,你是不是得到一个哈希的那个值呀,那你接下来该怎么办,你是不是应该做取模或者做位运算了,哎,那我这里为了简单我就取模了啊,所以我们这个地方应该是什么呢?叫reason number,它应该等于什么呢?CRC,然后呢,取模,这个取模的话,是不是应该把那个我们的一个常量啊,咱们有一个叫value的一个常量点叫count吧,是不是,那如果你是未运算的话,是应该是减一对吧,应该减一,而且应该是我们二的N次方吧,对不对,那我这里没那个概念,那我这里呢,就取模了啊就这样,那你这个取完以后是不是直接就return了,Return以后把它拿过来是不是就可以了,诶,你这样的话就可以把这个分区号给它算出来了啊,那好这个呢,我们就给大家演示了一下,但是对不对我也不知道,所以呢,我们可以再来测试一下来,所以啊把这个分区呢,咱们给他写上一下,然后呢,我这里同样加上一个。
28:23
啊,加完了以后把它拿过来,我放过来,放过来以后电话号码随便写啊,诶随便写啊来这个电话号码那我随便写。啊好了啊,哎,对不对呀,0101啊,再写个二吧,嗯,好,后面呢是我们的date,那date呢,我就直接把这个拿过来了。啊,我就直接拿过来了,拿过来以后就得到了一个数字,这个数字呢,我再打印出来,嗯,行,我试一试啊,来点一下咱们那个,咱们那个常量是6万,我看看他在不在我们那个里面啊运行一下。大家看在不在呀,不在呀,啊在里面是吧,那同样道理,我这是不是就可以换一下了,那可能不是133是188了,那么这个时候我们这边哦填没用对吧?那OK,把这个变成我们的一,然后把这个也换一下,11月10号的,然后呢,我们点一下运行,运行以后看结果,诶还是五啊看看啊,那我这个12点啊,这个都没用是吧,这个那我写个什么呢?零五吧,嗯,咱们写个零四啊,咱们写个零四啊,然后呢,我们运行一下,嗯,还是五是吗。
29:31
哎,是不是能够看出它的变化对不对,就说明只要你这边有变化的话,咱们分区也基本就是什么有变化对不对,但是我能保证一点,他同一个电话号码的同一年的同一个月是不是在同一个分区里面对不对,那这样的话我统计起来就会更加方便啊,所以啊,咱们首先能够满足我们的要求,那就OK了,那这个咱们能做完的话,那咱们只要把咱们刚才的这个什么我们的r key给它拼接好不就行了,这个咱们有了,这个不都有了吗?都有了之后那就没问题了啊好了,这个呢,咱们就先说到这儿,大家休息一下,咱们下节课再完善这个功能啊。
我来说两句