Hbase(3):HBase常用shell

来源:互联网 发布:淘宝店铺名字大全女装 编辑:程序博客网 时间:2024/05/17 06:56
1.进行shell命令行
#cd $HBase/bin
#./hbase shell

[root@hadoop12 bin]# ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.99.2, r6a0c4f3bae1e92109393423472bd84097f096e75, Tue Dec  2 20:47:47 PST 2014

hbase(main):001:0> help

2.可以用help来查看命令
#hbase(main):001:0> help

3.创建表

(1)创建表
命令:create
#hbase(main):001:0> create 'people',{NAME =>'info',VERSIONS => 3},{NAME => 'data', VERSIONS => 1}
(2)查看库中有多少表

命令:list
hbase(main):003:0> list
TABLE                                                                                                    
people                                                                                                   
1 row(s) in 0.0590 seconds

=> ["people"]
hbase(main):004:0> 
(3)表结构的描述
命令:describe或desc
hbase(main):005:0> desc 'people'
Table people is ENABLED                                                                                  
COLUMN FAMILIES DESCRIPTION                                                                              
{NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS =
> '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKS
IZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                              
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS =
> '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKS
IZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                              
2 row(s) in 0.0730 seconds

hbase(main):006:0> describe 'people'
Table people is ENABLED                                                                                  
COLUMN FAMILIES DESCRIPTION                                                                              
{NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS =
> '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKS
IZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                              
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS =
> '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKS
IZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                              
2 row(s) in 0.0160 seconds

hbase(main):007:0> 

(4)插入数据
查询帮助:help put,然后可以看到例子。
hbase(main):009:0> put 'people', 'rk0001', 'info:name', 'cls'

hbase(main):010:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
1 row(s) in 0.0310 seconds

(5)添加新的字段
hbase(main):011:0> put 'people', 'rk0001', 'info:gender','female'
0 row(s) in 0.0170 seconds

hbase(main):012:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
1 row(s) in 0.0160 seconds

(6)再次添加一条记录
hbase(main):015:0> put 'people', 'rk0001','info:size' ,'36'
0 row(s) in 0.0120 seconds

hbase(main):016:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428280389233, value=36                          
1 row(s) in 0.0200 seconds

hbase(main):017:0>

(6)再次添加一条记录,data列族
hbase(main):003:0> put 'people', 'rk0001', 'data:torrent','zhongzi'
0 row(s) in 0.0950 seconds

hbase(main):004:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428280389233, value=36                          
1 row(s) in 0.0290 seconds

hbase(main):005:0> 

(6)再次添加一条记录,data列族
hbase(main):005:0> put 'people' , 'rk0002', 'info:name', 'bdyjy'
0 row(s) in 0.0390 seconds

hbase(main):006:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428280389233, value=36                          
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.0240 seconds

hbase(main):007:0>
有两行记录。
 (7)再次添加一条记录,info列族
hbase(main):007:0> put 'people', 'rk0002' , 'info:gender' , 'female'
0 row(s) in 0.0140 seconds

hbase(main):008:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428280389233, value=36                          
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.0510 seconds

hbase(main):009:0> 
 (8)再次添加一条记录,info列族
size变为37
hbase(main):009:0> put 'people' , 'rk0001', 'info:size', '37'
0 row(s) in 0.0250 seconds

hbase(main):010:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428281165186, value=37                          
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.0350 seconds

hbase(main):011:0> 
 (9)再次添加一条记录,info列族
hbase(main):011:0> put 'people' , 'rk0001', 'info:size', '38'
0 row(s) in 0.0120 seconds

hbase(main):012:0> scan 'people'
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428281265238, value=38                          
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.0240 seconds

hbase(main):013:0> 
(10)查找所有info
hbase(main):014:0> scan 'people', {COLUMNS => 'info', VERSIONS => 3}
ROW                         COLUMN+CELL                                                                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428281265238, value=38                          
rk0001                     column=info:size, timestamp=1428281165186, value=37                          
rk0001                     column=info:size, timestamp=1428280389233, value=36                          
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.0270 seconds

hbase(main):015:0>
(11)再次添加新的记录
 hbase(main):001:0> scan 'people', {RAW => true, VERSIONS => 10}
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/hadoop/hbase-0.99.2/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/hadoop/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428310635251, value=36.5                        
rk0001                     column=info:size, timestamp=1428281829734, value=39                          
rk0001                     column=info:size, timestamp=1428281265238, value=38                          
rk0001                     column=info:size, timestamp=1428281165186, value=37  
                        
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.4060 seconds

hbase(main):002:0> 
出现这种情况是因为内存还存在,没有进行刷新,把hbase停止重新打开,再次查看就会发现,size只有3条记录,因为我们保存的是3个版本,对于size,超过3个版本后,内存会有一个标记位,当刷新内存后会真的删除
(12)退出后重新打开hbase
hbase(main):002:0> quit
[root@hadoop12 bin]# ./stop-hbase.sh

stopping hbase..................
hadoop12: stopping zookeeper.
[root@hadoop12 bin]# jps
2391 DataNode
2301 NameNode
4106 Jps
2571 SecondaryNameNode

[root@hadoop12 bin]# ./start-hbase.sh
hadoop12: starting zookeeper, logging to /hadoop/hbase-0.99.2/bin/../logs/hbase-root-zookeeper-hadoop12.out
starting master, logging to /hadoop/hbase-0.99.2/logs/hbase-root-master-hadoop12.out
starting regionserver, logging to /hadoop/hbase-0.99.2/logs/hbase-root-1-regionserver-hadoop12.out
[root@hadoop12 bin]# ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.99.2, r6a0c4f3bae1e92109393423472bd84097f096e75, Tue Dec  2 20:47:47 PST 2014

hbase(main):002:0> scan 'people',{RAW => true,VERSIONS => 10}
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/hadoop/hbase-0.99.2/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/hadoop/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ROW                         COLUMN+CELL                                                                  
rk0001                     column=data:torrent, timestamp=1428280780723, value=zhongzi                  
rk0001                     column=info:gender, timestamp=1428280172073, value=female                    
rk0001                     column=info:name, timestamp=1428279983673, value=cls                         
rk0001                     column=info:size, timestamp=1428310635251, value=36.5                        
rk0001                     column=info:size, timestamp=1428281829734, value=39                          
rk0001                     column=info:size, timestamp=1428281265238, value=38                          
rk0001                     column=info:size, timestamp=1428281165186, value=37  
                        
rk0002                     column=info:gender, timestamp=1428281061370, value=female                    
rk0002                     column=info:name, timestamp=1428280923819, value=bdyjy                       
2 row(s) in 0.4730 seconds

hbase(main):003:0> 

4.表结构

0 0