00:00
好,再继续往下呢,我们来讲region的一个切分啊,Re的切分呢分为两种啊,一种呢是你在创建表格的时候就提前给它分好啊,一种呢是系统默认的,它会自动启动一套切分的一个规则,避免单个region里面数据量过大,我们前面也已经看到了啊。经过大合并和小合并之后,刷写的文件最终不可避免的会合并成一个特别大的一个文件,那如果不让它进行切分的话,这个文件呢,会一直堆积,最终导致呢,一个文件能达到。80G对吧,或者100G都有可能啊,那太大的单一的一个文件呢,哎,其实是用起来不太方便的对吧?所以呢,我们会对它进行一个切分啊,进行一个切分,那切分本质上呢,就是对数据进行切分啊,数据进行切分,你可以提前就设定好这个分区叫预分区,也叫自定义分区,你先提前设计好这个分区啊,有多个分区之后,它分开来写这个分布式啊,用起来也更方便一点啊,你也可以呢,使用系统默认的这一套分区规则啊,它超过一定的数据量之后呢,也会进行切分,但不管你是否自己执行预分区啊,系统默认的这个分区呢,是一定会生效的啊,系统的分区就是为了避免单个region进里面数据量过大啊,首先呢,咱们来看一下预分区,也就是自定义分区如何去实现啊,每一个region进里面呢,都会维护它的开始肉和结束肉啊,如果加入的数据符合某个region维护的范围的话,那该数据呢,就会交给这个region去维护,你往里面写的时候也找到。
01:33
定的一个位置对吧,你可以提前规划好这个分区来增大呢h base的一个并发度,不然你写的时候都是由一个region server来进行操作的啊,效率会比较低,那如何去分区呢?在创建表格的时候啊,可以直接去操作预分区的方法呢,有几个啊,这个跟创建表格的那个shell命令有关系,你直接后面写就可以了啊,这个下命令呢,这是创建,这是创建一个表格,这是表格的列足,这是必要信息嘛,在表格列足后面加一个参数啊,这个参数叫PLA加一个中括号,类似一个数组里面填上,这一定要填一个字符串啊,因为UK只能是字符串填,是字符串切分的那个点,如果你切四刀的话,你写四个点不是切分四刀吗?
02:23
先分四道的话,最后会生成五个region啊,五个region因为开头啊,Region开头是没有范围的,开头为空,空到1000,然后最后一个是4000到空啊,你只要是比4000大都放在那个后面那个位置啊,这叫预算区,咱们可以呢到实际的下命令行里面来操作一下。好,来到这边,我们进去下。好,我们同时呢,将这个命令给复制一下。啊,CTRLC来到这边。稍微等待它创建一个连接。
03:02
好,等它连接创建好之后呢,我们直接把命令粘过来,创建一个表格,这是它的列足,这是它的一个切分点,对吧,回车执行。好执行之后呢,它就显示已经创建好这个表了,那这个表里面信息我们到哪里去看呢?哎,如果你DEC的话呢,一般看的是列足的信息啊,是列足的信息看不到这个切分追记的信息,我们可以到master页面去进行一个查看啊。卡杜普102,然后后面改一下端口号叫16010。好,进入到master页面往下来,这边有tables对吧,Tables里面有我们刚创建的DEFAULT1这么一个表格,它里面已经说了,它是enable可用的,它的region打开的个数是五个啊,五个region,好,你点开。点开之后,这里面有这个表格的详细信息啊,往下来这里面就会有table regions啊,每一个region这个地方呢,是region的名字对吧,Region进的名字啊,这region的名字呢,它比较长,还有表格名有一个时间戳,还有一个很长的一个ID,对吧,其实中间还有一个空。
04:11
不知道能不能看清啊,两个逗号之间有一个空啊,这个空呢,指的是开始的k start k啊,开始的K你往下来它就有了一千两千三千四千,看到没有,所以我们整个锐的名字啊,它其实很长,包含有表名对吧,表名完了之后是开始的K,然后后面是。时间戳加一个region的ID,这个东西呢,在MAT表里面有存,咱们之前有有看过那个MAT表,对吧?MAT表里面之前存的时候呢,没有这个start k,所以它留空了,那现在有了可以看到很清楚啊,这个地方呢,是当前的region,由谁来进行管理,可以看到它可以尽量放在不同的节点上,实现一个分布式的效果啊,那这个地方呢,就会有start k和NK,这里面还会有一些内存,这是读写请求,对吧,这是。
05:01
呃,Store fair的一个大小,文件大小啊,文件个数对吧,这是使用的一个内存大小啊,就是那个memory store一个内存大小可以看到都是零,我们刚创建的表格里面还没东西,对吧?你操作多了,在这个页面可以实现一个很好的监控啊,咱们现在呢,能看到的就是这个start k和NK啊,如果你是UK小于1000的话,默认都在第一个里面,所以它留空啊,你再小那你小不过啥也没有对吧?所以它就给你放到这个锐界里面了。好,这是我们基础的一个预分区的一个方法,除了这种预分区之外呢,还有第二种方法啊,可以直接生成一个16进制的一个预分区啊,我们可以复制一下这个CRC在这边呢,也来执行,它是直接设置re进的一个个数,15个re进的一个方法,使用16进制进行拆分啊,你执行。好,执行完之后呢,我们也可以到这个页面来查看一下啊,你刷新一下,这里面会多一个表对吧?二点开我们写了它是15个region,那切分下来呢,它就是15个region,什么叫16进制拆分方法呢?就是以八位的16进制数字为标准来进行一个拆分,看到没有。
06:14
八位的16进制数字啊,那这种拆分规则呢,其实啊不太能用啊,不太好用,也不能说不能用吧,它你要应用的话,它也能用啊,但是不太好用,不太好用的点就在这儿。数字九到A啊,九到字母A,它是按照我们知道这个字符串排序啊,是按照阿斯卡玛来进行排序的,如果按照阿斯卡玛来进行排序呢,其实九到A之间啊,差距还是蛮大的,九呢大概是50多,二呢,A呢是97对不对,那里面呢,包含有非常多别的内容,都会放到这个region里面,除了这之外呢,你想一下还有这个。E字母之后了,那东西还多着对吧,都会放到这个region里面啊,所以你直接按照UK往里面放肯定是不行的,如果你往里面放的话,需要先转化为把你的RK啊,转化为16进制数字啊,这这这种操作呢,要放在那个R设计里面,所以你要用的话还是不太方便呢,我们也不推荐大家使用这种方法啊,不好理解对不对,还不如使用第一种方法呢,就一一千两千三千四千直接往里放。
07:23
就可以了,那就可以了啊好,我们再继续往下第三种规则啊,第三种方法,第三种方法呢,还是第一种方法,其实是一样的,只是说这里面如果切四刀的话,你写出来就可以,那如果切400刀呢,你总不能在这写四四百个数吧,啊太麻烦了,所以呢,你可以使用文件的形式来进行操作啊,在文件里面写上abcd对吧,注意这个文件啊,一定是要跟你这个h base啊目录呢相对应对,我们先退退出来。在加入下面VM这么一个文件啊,诶点错了啊。退出一下。好,我们嗯,VM一个。
08:02
Split split PI啊,S。第二题啊。好把这个abcd呢,给它粘过来保存退出啊,然后呢,我们再进入到这个。She里面。进入到这个shell里面呢,我们使用这么一个切分的命令就可以了啊,之前呢,用的是place,直接填数组,现在可以成place fair,然后直接填一个相对路径就可以了啊,我们复制一下这个命令。On site。来到这边,我们粘贴执行。Empty must be passed。啊,我之前写的那个文件里面啊,有空看到没有有空啊,这个不严谨了,咱们再看一下啊。好,我们VM啊叫lit t啊,这最后一行是空对吧?啊,你需要给它DD删除掉啊,保存退出。好,删除掉之后呢,我们再来执行。
09:03
他就已经创建成功了,对吧,他说你有空的一个K嘛,啊,那不行,好,我们给它删掉之后就可以运行了,回过头来呢,我们回退刷新点到这个第三张表啊,那这样的话呢,其实跟第一种的切分效果啊是一样的,只是说你之前呢,必须要写在那个命令行里面,太长了,你可以提前写到文件里面,然后再执行一个切分,那这是我们第三种方法,第四种方法呢,是使用API的一个形式啊,因为这个API啊实在是。很少很少会用到,所以咱们给大家看一下就可以了啊,就是创建表格的时候啊,你再往里面填这么一个表格描述,后面它有方法的重载方法,重载里面就有开始K,结束K,要切分多少个region,它会按照你填写的这么一个BA数组按照。这个阿斯卡玛均匀的给你进行一个切分,你也可以直接写一个二维数组,那二维数组呢,就跟我们这个地方填的是一样的,为什么是二维数组呢?因为你填的是字符串嘛,字符串就被当做一层的单色数组就可以了啊,那总的来说呢,这个自定义分区非常简单对吧?我们在创建表格的时候呢,直接告诉他在哪切就可以了啊,咱们就没有必要再去操作一下这个代码了啊,这个意义到不是啊,跟前面是没有区别的,只是告诉你代码也可以去编写就可以了啊,全部操作完之后,就在这个地方创建表的时候呢,给它加一下。
10:22
就可以了啊。好,这是我们如何去执行自定义分区啊,也就是域分区的一个方法介绍。
我来说两句