00:00
好,到这里呢,ROK如何设计就介绍完了啊,那接下来呢,我们还需要再添加一些东西,比方说这个预分区的优化,在实际的企业开发当中呢,都不会让他出来呢,只使用一个分区啊,只使用一个分区的我们的数据是海量的对不对,有点接受不了啊,那我们呢,都会提前给他进行一个分区啊,在分区的时候呢,它同样要遵守这种死干的一个原则啊,你你分区号对不对,我们都写了,那分区号如果是001开头,你还是按照RK的一个死干原则往里面放的啊,所以啊,每一个ROK最前面的一定是这个分区号啊,必须添加在这个ROK的最前面,我们这个前缀呢,最好是最简单的数字啊,因为我们对数字使用起来呢更方便啊,这个数字如何生成呢?它就讲究了啊,我们这里呢,推荐大家根据用户名和月份进行一个拼接啊,最终呢,决定这个分区号啊呃,你如果使用用户的话呢,它就是啊,这里面有几个选择的点嘛。
01:01
如果你使用用户的话,那就意味着张三的数据呢,全部都放到了一个分区里面,李四的用户都放到了一个分区里面,这时候呢,会有可能发生数据倾斜,因为你打的不够散啊,不够散,那单一用户呢,都存在一个分区里啊。这个大家做互联网行业应该都知道啊,咱们的用户信息呢,会存在一个非常明显的寡头现象,它数据不是均匀的,如果你把一个用户都放到一个分区啊,那几个那几个你的活跃用户啊,这个大佬用户对吧,他数据呢,都放到一个分区里面很容易,这个分区数据量就太多了啊,别的好多用户加起来都没有这一个人多啊,我们呢,需要再把它尽量打的再散一点,会把这个用户啊啊月份也给他拼接进去,那如果你是按照用户加月份走哈希。啊走哈西得到这么一个值来进行计算的话呢。它相对要更碎一点啊,更细一点,那这样的话呢,就是一个用户数据呢,会放到12个分区里面啊,你这样不就更方便一点嘛,对吧,还更碎一点,好这里呢,咱们也到这边文本啊,继续去进行一个追加的编写啊,底下呢写一下叫添加。
02:10
预分区啊,预分区预分区。优化。咱们的设计已经确定下来了,就是这样设计的,对吧,我们只需要在前面加一个分区号。就可以了啊,分区号就可以了,因为分区号呢,是固定的一个数字对吧,固定的一个数字直接写就行了,那你为了能够跟这边的切分的符号,比方说我们切分的时候按照001。002003进行切分对吧?如果你按照这样进行切分的话呢,你这个分区号是000,那就进入到了第一个分区里面,我们的分区编号在写的时候应该是这样写的,叫起始K和结束K对不对?起始K为空。哎,写出来这个写上吧,Start。啊,对应的stop。
03:02
对吧,那我们对应的应该是这样写的啊,这边给它删掉,哎,这是stop k起始为空这第一个分区对吧?如果你这样写的话呢,它第一个分区就是开头为000的这么一个值啊,开头为000的这么一个值啊,那我们在数呃,It里面数数都是从零开始的对吧?那这个也合理啊,对应下来呢,这个起始K就是001,哎,对应过来呢,这个结束K就是002对吧,这是002,然后才不见过来这么一个格式啊,最后呢,点点点,最后这就取决于你设计多少个分区了啊,你想设计多少分区,比方说我们设计120个分区。为什么选择这个数字呢?等一下有介绍啊,先别急,这边呢应该是120,那前面就是119对不对,119。对吧,就是这么一个格式啊,这么一个格式,你有了这个格式之后呢,我们只需要选择对应以谁来去走一个哈希就可以了,我们的分区号。这样进行设计,分序号呢,就是user。
04:03
前面那个U的那个字符串啊,加你加不加拼接都可以啊,加不加拼,因为我们要取一个哈希值嘛。U拼接date。月份对吧?啊,这是月份啊,有拼接月份啊呃,这个拼接月份的时候呢,你就不用加那个年了啊,如果加年的话呢,它更更琐碎更散了啊,我们不加年的话,这个值的永远都是12个,你想一下是不是如果你不加年,它不永远都是12个嘛,你加年的话,它它又要乘那个多少多少个年更碎了啊,太碎了不好找啊,我们取到这么碎就可以了,把这两个值拼接到一起,然后对它进行哈希。啊,对它进行哈希,哈希的目的呢,是为了把它转化为一个随随机的数字,有了随机的数字之后,对一百二去取模,哎,就得到了这个分区号,对吧?这个分区上的数字呢,一定是000,一直到119,当然这个数字刚出来的时候,它只能是一个零,它不会是000啊又到了我们这儿,如果分区号是0123456789,是这样的话呢,我们需要对它进行。
05:12
填充嘛,又回到填充了,只是这个填充呢,因为数字有固定的填充格式,不够三位前面填零对吧,分区号,然后这边写一个。分区号填充对吧?哎,如果得到一。啊,得到一,我们给它填充成001就可以了,那这就是我们对应的一个分区号,因为固定三位,所以它不会错位,肯定会放到对应的这个分区里面,这第一个是零号分区,对不对,这是一号分区,这是120号分区,因为是从零开始数的,就能够完美的给它放进去了啊,那这个呢,就是我们预分区的一个添加啊,预分区的一个添加啊。
我来说两句