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'

ROW   COLUMN+CELL                                                            

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

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

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

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

row(s)in0.0140seconds

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


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

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

COLUMN                    CELL                                                                   

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

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

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

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

 

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

你可能感兴趣的:(hbase,hbase,大数据,hadoop)