在hbase shell中增加自定义命令

在hbase的日常运维工作中,经常要用到hbase shell客户端,这个客户端提供了常用的命令让运维和开发人员可以方便的管理hbase,但有时这些常用的命令无法满足运维要求时就需要增加自己的运维命令了,比如hbase shell自带的count命令非常慢,特别是数据量大的时候,我们希望增加一个自定义的命令使用hbase的协处理器来统计表的记录数。

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

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

160529_6Wyg_914897.png

160603_T5PW_914897.png

2. 在lib/ruby/shell.rb文件中增加这个自定义的命令,我们是要在dml这个组中增加,所以代码需要加在相应的地方,如图:

160759_sVVD_914897.png

3. 由于我们的方法是增加在table这个类上的,这样可以充分利用到原有的代码,那我们在lib/ruby/hbase/table.rb文件中增加对应的实现fast_count的方法,如图:

161008_ZWFB_914897.png

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

161048_3xKv_914897.png

 

转载于:https://my.oschina.net/u/914897/blog/1589280

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值