AI智能
改变未来

HBase shell 创建表及添加数据

HBase shell 命令创建表,表名hbase_test,HBase表是由Key-Value组成的,下面给出一个hbase表的格式,方便小伙伴们理解

此表有两个列族,列族1和列族2,其中列族1和列族2下分别有两个列name和age,phone和address

注意:hbase的表只动态加入列的,比如说列族1下面有两列,再添加数据时,可以在动态的加一列。

1 ,创建表hbase_test有两个列族CF1和CF2

hbase(main):041:0>create \’hbase_test\’,{NAME=>\’cf1\’},{NAME=>\’cf2\’}

2 ,向表中添加数据,在想HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列。

hbase(main):042:0>put\’hbase_test\’, \’001\’,\’cf1:name\’,\’Tom\’

hbase(main):043:0>put\’hbase_test\’, \’001\’,\’cf1:age\’,\’18\’

hbase(main):044:0>put\’hbase_test\’, \’001\’,\’cf2:phone’, ‘13309882999’

hbase(main):045:0>put\’hbase_test\’, \’001\’,\’cf2:address\’,’昆明’

注意:shell语句后跟分号表示语句还没有,这一点恰恰和mysql相反(我的理解)

这样表结构就起来了,其实比较自由,列族里边可以自由添加子列很方便。如果列族下没有子列,cf1:name加不加冒号都是可以的,也可以写成cf1name

如果在添加数据的时候,需要手动的设置时间戳,则在put命令的最后加上相应的时间戳,时间戳是long类型的,所以不需要‘加引号

Hbase(main):045:0>put\’hbase_test\’, \’001\’,\’cf2:phone\’,\’13309882999\’,1478053832459

3 ,查看表中的所有数据

hbase(main):046:0>scan \’hbase_test\’

ROWCOLUMN+CELL

001column=cf1:name, timestamp=1478053832459,value=Tom

001column=cf1:age,timestamp=1478053787178,value=18

001 column=cf:phone,timestamp=1478053848225, value=13309882999

001column=cf2:address, timestamp=1478053858144,value=昆明

row(s)in0.0140seconds

因为表中只有一条数据,所以结果和下面查询一条数据的结果相同

4 ,查看其中某一个Key的数据

hbase(main):048:0>get\’hbase_test\’,\’001\’

COLUMNCELL

001column=cf1:name, timestamp=1478053832459,value=Tom

001column=cf1:age,timestamp=1478053787178,value=18

001 column=cf:phone,timestamp=1478053848225, value=13309882999

001column=cf2:address, timestamp=1478053858144,value=昆明

这是这几天学习hbase的一点总结

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » HBase shell 创建表及添加数据