name
grad
course
math
art
Tom
5
97
87
Jim
4
89
80
的course列族。
hbase(main):001:0> create’scores’,’grade’, ‘course’
(2)按设计的表结构插入值:
put’scores’,’Tom’,’grade:’,’5’put ‘scores’,’Tom’,’course:math’,’97’put ‘scores’,’Tom’,’course:art’,’87’put ‘scores’,’Jim’,’grade’,’4’put ‘scores’,’Jim’,’course:math’,’89’put ‘scores’,’Jim’,’course:art’,’80’
这样表结构就起来了,其实比较自由,列族里边可以自由添加子列很方便。如果列族下没有子列,加不加冒号都是可以的。
put命令比较简单,只有这一种用法:
hbase> put ‘t1’, ‘r1′,’c1’, ‘value’, ts1
ts1指时间戳,一般都省略掉了。
(3)根据键值查询数据
get ‘scores’,’Jim’get ‘scores’,’Jim’,’grade’
scan ‘scores’,{get只得到最新加入列族的一条记录)
get ‘scores’,’Jim’,’course:math’(这样可以)
shell操作,一个大概顺序就是操作关键词后跟表名,行名,列名这样的一个顺序,如果有其他条件再用花括号加上。get有用法如下:
hbase> get ‘t1’, ‘r1’hbase> get ‘t1’, ‘r1’, {TIMERANGE => [ts1, ts2]}hbase> get ‘t1’, ‘r1’, {COLUMN => ‘c1’}hbase> get ‘t1’, ‘r1’, {COLUMN => [‘c1’, ‘c2’, ‘c3’]}hbase> get ‘t1’, ‘r1’, {COLUMN => ‘c1’, TIMESTAMP => ts1}hbase> get ‘t1’, ‘r1’, {COLUMN => ‘c1’, TIMERANGE => [ts1, ts2],VERSIONS => 4}hbase> get ‘t1’, ‘r1’, {COLUMN => ‘c1’, TIMESTAMP => ts1, VERSIONS=> 4}hbase> get ‘t1’, ‘r1’, ‘c1’hbase> get ‘t1’, ‘r1’, ‘c1’, ‘c2’hbase> get ‘t1’, ‘r1’, [‘c1’, ‘c2’]
(4)扫描所有数据
scan ‘scores’
例句如下:
hbase> scan ‘.META.’hbase> scan ‘.META.’, {COLUMNS => ‘info:regioninfo’}hbase> scan ‘t1’, {COLUMNS => [‘c1’, ‘c2’], LIMIT => 10, STARTROW=> ‘xyz’}hbase> scan ‘t1’, {COLUMNS => ‘c1’, TIMERANGE => [1303668804,1303668904]}hbase> scan ‘t1’, {FILTER => "(PrefixFilter (‘row2’) AND (QualifierFilter(>=, ‘binary:xyz’))) AND (TimestampsFilter ( 123, 456))"}hbase> scan ‘t1’, {FILTER =>org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}
a. Using a filterString – more information on this is available in theFilter Language document attached to the HBASE-4176 JIRAb. Using the entire package name of the filter.
CACHE_BLOCKS=>false)。
(5)删除指定数据
delete ‘scores’,’Jim’,’grade’delete ‘scores’,’Jim’
删除数据命令也没太多变化,只有一个:
hbase> delete ‘t1’, ‘r1′,’c1’, ts1
create三个命令组合出来的。
(6)修改表结构
disable ‘scores’alter ‘scores’,NAME=>’info’enable ‘scores’
a、改变或添加一个列族:
hbase> alter ‘t1’, NAME=> ‘f1’, VERSIONS => 5
b、删除一个列族:
hbase> alter ‘t1’, NAME=> ‘f1’, METHOD => ‘delete’hbase> alter ‘t1’, ‘delete’ => ‘f1’
艰苦能磨练人的意志。