HBAse shellの一般的なコマンドと構文


HBase  shell 
               1.Hbase shellコマンド$>hbase shell 2に進みます.「help」コマンド$>help 3を参照することを推奨します.shellコマンドcreateテーブル作成コマンド:hbase(main):021:0>create'customer','baseinfo','address'put挿入データ:構文:put't','r','c','v'(テーブル、行、列名、値)
     hbase(main):021:0> put 'customer','row-1','baseinfo:name','zhangsan'
     hbase(main):021:0> put 'customer','row-1','baseinfo:age',12
     hbase(main):021:0> put 'customer','row-1','baseinfo:sex',' '
     hbase(main):021:0> put 'customer','row-1','address:city','  '

scanスキャンテーブル:scan't't'
    hbase(main):021:0> scan 'customer'
              ROW                                 COLUMN+CELL                                                                                            
              row-1                              column=address:city,  timestamp=1533057164343, value=changchun                                          
              row-1                              column=baseinfo:age, timestamp=1533057275350, value=23                                                 
              row-1                              column=baseinfo:name, timestamp=1533056802314, value=zhangsan                                          
              row-1                              column=baseinfo:sex, timestamp=1533057120030, value=\xE7\x94\xB7\x0A 

1 row(s)in 0.1030 seconds説明:現在表示されているのはレコードです.get取得命令:
        hbase(main):021:0> get 'customer','row-1'
          COLUMN                              CELL                                                                                                   
         address:city                       timestamp=1533057164343, value=changchun                                                               
         baseinfo:age                       timestamp=1533057275350, value=23                                                                      
         baseinfo:name                      timestamp=1533056802314, value=zhangsan                                                                
         baseinfo:sex                       timestamp=1533057120030, value=\xE7\x94\xB7\x0A                      

1 row(s)in 0.1500 seconds delete削除記録命令:hbase(main):072:0>delete'customer','row-2','baseinfo:name'describe記述命令検索構造:hbase(main):084:0>desc'customer'
  Table customer is ENABLED                                                                                                                  
        customer                                                                                                                                   
        COLUMN FAMILIES DESCRIPTION                                                                                                                
        {NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}    
        {NAME => 'baseinfo', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}   
        2 row(s) in 0.5850 seconds

VERSIONバージョン、デフォルトバージョンは1で、timestampタイムスタンプで降順:バージョン番号の変更:hbase(main):086:0>alter'customer',{NAME=>'baseinfo',VERSIONS=>5}scan'テーブル名',{VERSIONS=>*}コマンドにより、現在のテーブルのデータバージョンを取得します.delete削除コマンドを実行する場合、ts(timestamp)タイムスタンプに従って削除操作を行う必要がある場合は、前のバージョンを一括して削除します.drop削除table命令:hbase(main):084:0>disable'tablename'//説明:table hbase(main):084:0>drop'tablename'//説明:table get_を削除table命令:tableを対応する変数値(tableインスタンス)にマッピングし、tableインスタンスによってテーブルを関連操作する
           hbase(main):117:0> t1 = get_table 'customer'
           hbase(main):118:0> t1.scan
           hbase(main):119:0> t1.put 'row-2','baseinfo:name','zhangsan'
           hbase(main):120:0> t1.get 'row-2'

namespace名前空間は、従来のデータベースのテーブル空間に相当します.
     hbase(main):003:0> create_namespace 'ns1',{'author'=>'zhangyuejiu','data'=>'2018-07-31'}
        
     hbase(main):005:0> describe_namespace 'ns1'
        DESCRIPTION                                                                                                                                 
        {NAME => 'ns1', author => 'zhangyuejiu', data => '2018-07-31'}                                                                             
        1 row(s) in 0.0620 seconds

balance負荷等化指令は、スイッチモードを使用する必要があり、原因負荷等化は比較的に資源を消費する.
   hbase(main):005:0> balance_switch true    //      
   hbase(main):005:0> balancer               //      
   hbase(main):005:0> balance_switch false   //      
   hbase(main):005:0> balancer "force"       //      

    4.テスト、Ruby構文を使用したデータの追加
     hbase(main):003:0> create_namespace 'ns1'
     hbase(main):003:0> create 'ns1:student','info'
     hbase(main):003:0> for i in 'a'..'z' do   for j in 'a'..'z' do \
     hbase(main):009:2* put 'ns1:student',"row-#{i}#{j}","info:#{j}","#{j}"  end end
                     【      】


  5.merge合併--------------------------------------1.merge_regionマージコマンドhbase(main):010:0>merge_region '857d52f5591906576a85809db8522cbf','441d5e059755eae0f0b4582e915f6408'     2.move移動region指令:hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73'//ランダム指定regionserver hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73','slave 116020153313423796'//指定regionserver 3.プリセクション:事前にパーティションを指定する(rowkey設計が重要)コマンドは、hbase>create'ns 1:t 1','f 1',SPLITS=>['10','20','30','40']の説明です.ns 1ネーミングスペースの下で、t 1テーブルを作成し、クラスタをf 1にします.プリディビジョンは5個:[',10);[10,20);[20,30);[30,40);[40,']