在hbase shell中增长自定义命令

在hbase的平常运维工做中,常常要用到hbase shell客户端,这个客户端提供了经常使用的命令让运维和开发人员能够方便的管理hbase,但有时这些经常使用的命令没法知足运维要求时就须要增长本身的运维命令了,好比hbase shell自带的count命令很是慢,特别是数据量大的时候,咱们但愿增长一个自定义的命令使用hbase的协处理器来统计表的记录数。shell

在hbase shell中增长自定义命令实际上不复杂,以上面的例子为例,咱们来增长一个自定义的命令,命令名称叫fast_count。ruby

1. 在hbase客户端目录下的lib/ruby/shell/commands目录下增长一个叫fast_count.rb的文件,这个文件是实现主要逻揖的地方,格式以下:运维

2. 在lib/ruby/shell.rb文件中增长这个自定义的命令,咱们是要在dml这个组中增长,因此代码须要加在相应的地方,如图:开发

3. 因为咱们的方法是增长在table这个类上的,这样能够充分利用到原有的代码,那咱们在lib/ruby/hbase/table.rb文件中增长对应的实现fast_count的方法,如图:io

4. 最后,由于咱们的这个方法须要用到hbase的connection实例,而这个实例在原有的table类中是没有的,只能在lib/ruby/hbase/hbase.rb中传进来,因此须要修改到lib/ruby/hbase/table.rb和lib/ruby/hbase/hbase.rb两处的代码,以下:table

相关文章
相关标签/搜索