hbase shell命令
1、进入hbase shell环境:
[hbase@hadoop230 ~]$ ./hbase shell
HBase Shell; enter 'help
Type "exit
Version 0.96.0-hadoop1, r1531434, Fri Oct 11 15:11:29 PDT 2013
2、查找帮助
hbase(main):003:0> help 列表所有帮助信息
hbase(main):069:0> help 'alter' 列出指定命令的帮助信息
3、创建表,创建一个名为 test 的表,这个表只有一个列族为cf,创建表的时候不需要创建列族。可以列出所有的表来检查创建情况,然后插入些值。
hbase(main):003:0>create 'test', 'cf';
4、列出所有表
hbase(main):087:0> list
TABLE
test
1 row(s) in 0.0320 seconds
5、查看表是否存在
hbase(main):088:0> exists 'test'
Table test does exist
0 row(s) in 0.0630 seconds
6、查看表结构
hbase(main):090:0> describe 'test'
7、添加数据、修改数据操作命令是一样的
添加数据:put '表名','主健','列簇.限定名','值'
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row1', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row1', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds
8、修改表结构,从0.92.x开始可以在线修改表结构,需要配置hbase.online.schema.update.enable,默认false;当配置false时,需要先禁用表,再启用;
hbase(main):091:0> disable 'test' 禁用表
hbase(main):092:0> alter 'test','cf2' 加入列簇
hbase(main):093:0> enable 'test' 启用表
9、扫描表数据
hbase(main):105:0> scan 'test'
10、查找数据
hbase(main):150:0> get 'test','row1' 查找指定行的所有列
COLUMN CELL
cf:a timestamp=1386321878650, value=value1
cf:b timestamp=1386322192816, value=value2
cf:c timestamp=1386322197235, value=value3
hbase(main):151:0> get 'test','row1','cf:a' 查找指定行指定列
COLUMN CELL
cf:a timestamp=1386322197235, value=value1
11、删除整行数据
hbase(main):169:0> deleteall 'test','row1'
12、删除列数据,注意:当所有的列都清空时,该行也会被删除
hbase(main):160:0> delete 'test', 'row1','cf:a'
11、删除表,删除表之前先要禁用表
hbase(main):117:0> drop 'test'
12、查看总记录数
hbase(main):142:0> count 'test'
13、查看表是否可用
hbase(main):143:0> is_enabled 'test'
14、创建增量,列"cf:d"不需要预先创建
hbase(main):012:0> incr 'test','row2','cf:d',0
COUNTER VALUE = 0
hbase(main):013:0> incr 'test','row1','cf:d',1
COUNTER VALUE = 1
hbase(main):014:0> incr 'test','row1','cf:d',2
COUNTER VALUE = 3
hbase(main):015:0> incr 'test','row1','cf:d',3
COUNTER VALUE = 6
hbase(main):133:0> get_counter 'test','row1','cf:d',3 获取当前值,这里应该存在BUG,get_counter不应该需要第4个参数的,现在需要随意给它一个参数;
COUNTER VALUE = 6
原文出处: http://my.oschina.net/u/158197/blog/189263 (原创文章,转载请注明出处)