下面将以一个“学生成绩表”的例子来介绍常用的HBase命令的使用方法。表6-4是一张学生成绩单,其中,name是行键,grade是一个特殊列族,只有一列并且没有名字(列族下面的列是可以没有名字的),course是一个列族,由3个列组成(Chinese、math和english)。用户可以根据需要在course中建立更多的列,如computing、physics等。
表6-4 学生成绩单
(1)建立一个表scores,包含两个列族:grade和course。
hbase(main):001:0>create'scores','grade','course'
(2)按设计的表结构添加值。
put'scores','Jim1','grade:'1'
put'scores','Jim','course:Chinese','90'
put'scores','Jim','course:math','85'
put'scores','Jim','course:english','85'
put'scores','Tom','grade:','2'
put'scores','Tom','course:Chinese','97'
put'scores','Tom','course:math','100'(www.xing528.com)
put'scores','Tom','course:english','92'
样表结构就建立起来了,列族里边可以自由添加子列。如果列族下没有子列,则只加“:”即可。
(3)根据键值查询数据,查看scores表中的Jim行的相关数据。
hbase(main):012:0>get'scores','Jim'
查看scores表中Jim行、course列族中math列的值。
hbase(main):012:0>get'scores','Jim','course:math'
(4)扫描scores表中所有数据。
hbase(main):012:0>scan'scores'
上述命令会显示所有数据行,也就是Tom和Jim的所有课程的成绩,包括chinese、math和english。为了限制返回的结果,用户可以指定一些修饰词,如TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGTH或COLUMN。如下所示,获取Jim和Tom的english的成绩。
scan'scores',{COLUMN=>'course:english',STARTROW=>Jim,ENDROW=
Tom}
(5)添加新的列,为Tom添加computing课程的成绩。
hbase(main):012:0>put'scores','Tom','course:computing','90'
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。