00:00
好,我们介绍完这个需求之后呢,接下来咱们就来开始去扫描这个数据了啊呃,我们想要扫描这个数据呢,他他往那个h base里面创建表格,往里面放数据,咱们就不说了,你直接往里面put就可以了,我们直接假设呢,这个数据就已经写进去了啊,直接来扫描这个RO呢,我们还没有设计,你需要去对应这个设计这个ROOK,对吧,我们用的命令一定是干啊,这个干呢有对应两个值,一个叫start row。啊,一个是stop肉,嗯。好了啊。Stop。肉啊。好,我们给它对齐一点啊,这边呢,箭头过来,我们写这个值就行了。对吧,好,这个stop和stop呢,咱们之前已经用过了啊,咱们之前用的呢,比较基础,你比方说扫描张三这个用户所有的一个数据,对吧,我们知道左臂右开,它是包含当前这个值的,如果扫描张三,你就直接写张三这边写。张三就可以扫描到张三所有的一个数据了,对吧,那扫描用户嘛,无外乎就是这个样子,好这个地方我们之前讲的时候呢,是以10011002来进行举例的,对吧?啊,咱们没有想过实际场景啊,这是人名啊,很有意思,有的人叫张三,有的人叫张三峰啊,你可以看到他们好像。
01:19
这个位置会给它包含进去,如果你单写一个张三吗?那肯定没问题,你想过没有,如果你想要后面还有值,后面不是会加时间吗?那不是加时间吗?你一旦加时间,开头张三,后面还是张三,他会把那个范围啊,张三峰也给你扫描进去,比方说你这里加一个对应的一个符号对吧,表示呢,后面还有别的数据,它会把这个张三丰也扫描进去。是这个样子吧,啊,那这就乱乱了对吧,数据就乱了啊,那为了解决这种大家因为名字长度不一样而造成混乱的一个情况呢,官方给我们提供了一个非常好用的方法,叫填充啊,叫填充。
02:01
填充字段保持保证。啊,所有的哎,数据有相同的长度啊,那像这种的能够作为ROK的这种标记的字段呢,它一般都是什么ID对吧?日期啊,或者是一些名字啊,这都是有具体的一个长度的,那我们在使用的时候呢,为了避免这种长度不一样导致错位,导致它那个rie啊,在进行排序的时候混乱的一个问题,我们呢,会给它进行一个拼接啊,Rie的一个拼接怎么拼接呢?官方给我们推荐啊呃,使用这个统一的一个字符啊,就是阿斯卡玛为一的啊,这个在have里面可能大家有听到过,对吧?补充一个阿斯卡玛为一的,那写起来呢,叫上箭头A,它不是一个能够打印的东西。如果你用它,它不是一个能显示出来的东西啊,如果你用代码的话,可以给它写进去,比方说加个代码,你生明一个C,它是一个叉,你让它等于一,这不就可以拼接进去了吗?如果是代码是可以拼接进去的,对吧?我们只需要拼接足够个上箭头。
03:03
写一下上箭头大A对吧,拼接足够多个啊,确保呢,每一个ROK的对应的这个user的这个信息啊,都是一般长的啊,你就能够解决呢,这个扫描错位的一个问题,大家都是一般长的就没有这个问题了,对吧?好,如果使用这样的话呢,就能够避免张三和张三丰混乱在一起,或者张三和张三一张三二这容易很容易乱在一起,对吧,就能够解决这么一个问题,大家长度都是一样的啊好,解决完第一个问题之后,接下来第二个问题,我们要扫描12月份的一个数据,对吧?直接在后面加日期就可以了嘛,2021。杠12,我们的日期一般有一个格式对吧?2021-12就行,那下面呢,也写上2021-12对吧?那如果你这样扫描的话,呃,日期就不需要转了,日期都是统一的一个格式对吧?统一的一个长度啊好,如果你这样写的话,它会有一个问题,它只能扫描ROOK正好等于这个值的,但有没有ROK等于这个值的没有吗?
04:03
它后面还有数据的对不对,它后面还是要有杠多少号呢啊,但你扫描杠多少号不对的啊,我们要扫描整月的,怎么样表示整月的呢?你得巧妙的运用这个范围的一个问题,你想一下,如果我们要扫描的话,是不是后面都是一个横杠呀?如果我不写,你死大的之后不是一定要小于你的目标值吗?如果我不写,它不一定小于那个横杠吗?对吧,如果不写一定小于那个横杠,那对应的你的stop肉是不是这个位置一定要写一个大于横杠的就可以了啊,写一个大于横杠的就可以了啊,这里呢,因为我们每一个长度都是固定的,所以不会错位,这个位置比较的一定是另外一个横杠,海定另外一个横杠,你只要写一个略大于横杠,或者只要是大于横杠的就可以了啊,叫结尾。需要写啊。和设计的。对应位置的值。
05:01
大的啊字符就可以了,那我们大于横杠呢,有哪些呢?哎,插不准的话呢,去查表对吧,我们这里呢,有专业的阿法表,横杠呢在这个位置。对吧,它的十进制呢,大概是45,你只要大于它就行了啊,你可以精准控制对吧,大于它一点的是个点,你这边写一个点就可以了啊,你对应这个位置呢,写一个点。就可以了,你想一下我们start这样写,Stop这样写,是不是正好扫描出了张三在2021年12月份的所有数据啊,感受一下对吧,这就是我们这个啊,带有TSDB,带有时间错的一个扫描范围,我不需要把张三所有的数据都扫描出来,然后再进行过滤,效率太低了,我怎么办?直接按照这个扫描就能把它对应的一个时间数据呢都得到了,哎,因为是使用的HP底层的,这个读写效率会非常高啊,读的呢就精准读到了我想要的这部分数据,这种效率呢是最高的啊,效率是最高的啊,直接就能够扫描过来,那这个呢,也就是我们最终的一个答案,那根据这种W和W一个格式呢,咱们来写一下它的一个R设计的一个形式。
06:13
对吧,它的设计格式呢,就是user啊,这个user呢,有填充表示一个定场对吧,有填充咱们可以给它前面加上一些符号啊,大箭头A大箭头A啊对应后面拼接date。对吧?拼接date,那你在写这个start Rose的时候,你写这个只写了月份就行了,但你实际在往里面插入数据的时候,是不是不能只写到这个日期啊,不能只写到这个月对不对?你要只写到月的话,你这样设计只写到月的话,那所有用户一月份的数据不就写到同一行了吗?那30号下的订单会覆盖掉十号下的订单的一个支付信息,那就不行了,所以这个date的一个格式啊,一定是完整的精确到秒,或者说如果你这个数据格式精确到毫秒的话,那就把毫秒也补上,精确到毫秒,这个用户他的手速再快,他也不可能一毫秒搞好几个订单,对吧?这时间戳了一个好处嘛,它就算行,你服务器也不行,它一定是一个不同时间戳的请求,对吧?我们来写上啊,YYYY杠大M大M-DD啊,然后空格。
07:20
一般是这个啊HH-MM。不是杠一般是冒号对吧,MM。冒号SS啊,后面还会有一个MS,咱们也给你写上,我这个图里面呢没有画,但是呢,它还是可能有的,对吧?好,那这个呢,就是我们RK的一个设计格式,就能够完美的满足我们第一个需求了啊,这是我们第一个需求一个解答啊,也是常规的这种需求。
我来说两句