HBase常用命令

进入hbase/bin目录,执行./hbase shell  打开shell

 


-- 查看命令的帮助信息

hbase(main):018:0> help 'create'
 Create table; pass table name, a dictionary of specifications per
 column family, and optionally a dictionary of table configuration.
 Dictionaries are described below in the GENERAL NOTES section.
 Examples:

   hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
   hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
   hbase> # The above in shorthand would be the following:
   hbase> create 't1', 'f1', 'f2', 'f3'
   hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
   hbase> create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}
   hbase> create 't1', 'f1', {SPLITS_FILE => 'splits.txt'}
   hbase> # Optionally pre-split the table into NUMREGIONS, using
   hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
   hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}

 

 

 

-- 创建stu表,有name和contact两个列族

hbase(main):008:0> create 'stu','name','contact'
 0 row(s) in 1.2090 seconds

 


-- 插入数据

hbase(main):009:0> put 'stu','zhang san','name:first','zhang'
 0 row(s) in 0.0930 seconds

 hbase(main):010:0> put 'stu','zhang san','name:last','san'
 0 row(s) in 0.0750 seconds

 hbase(main):011:0> put 'stu','zhang san','contact:tel','13000000000'
 0 row(s) in 0.0790 seconds

 hbase(main):012:0> put 'stu','zhang san','contact:email','[email protected]'
 0 row(s) in 0.0740 seconds

 


-- get查询

hbase(main):013:0> get 'stu','zhang san'
 COLUMN                        CELL                                                                              
  contact:email                timestamp=1355938162012, [email protected]                                       
  contact:tel                  timestamp=1355938151070, value=13000000000                                        
  name:first                   timestamp=1355938132910, value=zhang                                              
  name:last                    timestamp=1355938142305, value=san                                                

4 row(s) in 0.1320 seconds

 

-- scan查询
hbase(main):014:0> scan 'stu'
 ROW                           COLUMN+CELL                                                                       
  zhang san                    column=contact:email, timestamp=1355938162012, [email protected]                 
  zhang san                    column=contact:tel, timestamp=1355938151070, value=13000000000                    
  zhang san                    column=name:first, timestamp=1355938132910, value=zhang                           
  zhang san                    column=name:last, timestamp=1355938142305, value=san                              

1 row(s) in 0.1160 seconds

 

 


-- list所有表
hbase(main):015:0> list
 TABLE                                                                                                           
 stu                                                                                                             

1 row(s) in 0.2420 seconds

 


-- disable表

hbase(main):016:0> disable 'stu'
 0 row(s) in 2.2600 seconds

 


-- 删除表

hbase(main):017:0> drop 'stu'
 0 row(s) in 1.2360 seconds

 hbase(main):018:0>

---------------------------------------------------------
HBase新建一个case_info表

create 'case_info', {NAME=>'case_id'}, {NAME=>'case_name'} 或 create 'case_info', 'case_id', 'case_name'

查看表结构

describe 'case_info'

当想往case_info表中增加字段时,发现报错了。后来发现修改表结构需要先disable它,改完再enable

disable 'case_info'

alter 'case_info', {NAME=>'case_no'}  或  alter 'case_info', 'case_no'

enable 'case_info'

往表中增加key/value时,先要有一个key,也叫row id

put 'case_info', 'row1', 'case_id', '111'

put 'case_info', 'row1', 'case_name', 'test case 1'

put 'case_info', 'row1', 'case_name:2', 'test case 1 addtional info'

查看表全部内容

scan 'case_info'

内容太多的话,按row id查看

get 'case_info', 'row1'

你可能感兴趣的:(hbase)