在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