美文网首页
HBASE常用操作命令实践

HBASE常用操作命令实践

作者: 万州客 | 来源:发表于2022-05-07 16:57 被阅读0次

跳跃性有点大~

1,进入hbase

[root@5f2929d8f8f4 admin]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/admin/hbase-1.1.2/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/admin/hadoop-2.7.0/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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]
2022-05-03 04:49:26,124 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.1.2, rcc2b70cf03e3378800661ec5cab11eb43fafe0fc, Wed Aug 26 20:11:27 PDT 2015

2,查看服务器状态

hbase(main):001:0> status
1 servers, 0 dead, 3.0000 average load

3,创建表,包含两个列族

hbase(main):002:0> create 'mytable','baseinfo','extrainfo'
0 row(s) in 1.2720 seconds

=> Hbase::Table - mytable

4,创建数据

创建一行数据rowkey为P001,再往baseinfo的列族中增加4列数据,往extrainfo列族中增加一列数据。

hbase(main):003:0> put 'mytable','P001','baseinfo:name','Jack'
0 row(s) in 0.1270 seconds

hbase(main):004:0> put 'mytable','P001','baseinfo:age','21'
0 row(s) in 0.0080 seconds

hbase(main):005:0> put 'mytable','P001','baseinfo:tel','13921345678'
0 row(s) in 0.0090 seconds

hbase(main):006:0> put 'mytable','P001','baseinfo:id_card','12345678'
0 row(s) in 0.0080 seconds

hbase(main):007:0> put 'mytable','P001','extrainfo:company','Dream'
0 row(s) in 0.0040 seconds

5,使用scan扫描整张表数据

hbase(main):008:0> scan 'mytable'
ROW                                    COLUMN+CELL                                                                                                     
 P001                                  column=baseinfo:age, timestamp=1651553704698, value=21                                                          
 P001                                  column=baseinfo:id_card, timestamp=1651553753222, value=12345678                                                
 P001                                  column=baseinfo:name, timestamp=1651553690435, value=Jack                                                       
 P001                                  column=baseinfo:tel, timestamp=1651553727449, value=13921345678                                                 
 P001                                  column=extrainfo:company, timestamp=1651553776178, value=Dream                                                  
1 row(s) in 0.0270 seconds

6,使用count统计表行数

hbase(main):009:0> count 'mytable'
1 row(s) in 0.0220 seconds

=> 1

7,查询数据

可以查询一行所有数据,可以获取指定行和列族的所有列数据,获取指定行、列族的所有数据,

hbase(main):010:0> get 'mytable','P001'
COLUMN                                 CELL                                                                                                            
 baseinfo:age                          timestamp=1651553704698, value=21                                                                               
 baseinfo:id_card                      timestamp=1651553753222, value=12345678                                                                         
 baseinfo:name                         timestamp=1651553690435, value=Jack                                                                             
 baseinfo:tel                          timestamp=1651553727449, value=13921345678                                                                      
 extrainfo:company                     timestamp=1651553776178, value=Dream                                                                            
5 row(s) in 0.0250 seconds

hbase(main):011:0> get 'mytable','P001','baseinfo'
COLUMN                                 CELL                                                                                                            
 baseinfo:age                          timestamp=1651553704698, value=21                                                                               
 baseinfo:id_card                      timestamp=1651553753222, value=12345678                                                                         
 baseinfo:name                         timestamp=1651553690435, value=Jack                                                                             
 baseinfo:tel                          timestamp=1651553727449, value=13921345678                                                                      
4 row(s) in 0.0140 seconds

hbase(main):012:0> get 'mytable','P001','baseinfo:name'
COLUMN                                 CELL                                                                                                            
 baseinfo:name                         timestamp=1651553690435, value=Jack                                                                             
1 row(s) in 0.0090 seconds

8,更新数据

hbase(main):013:0> put 'mytable','P001','baseinfo:name','Tom'
0 row(s) in 0.0110 seconds

hbase(main):014:0> get 'mytable','P001','baseinfo:name'
COLUMN                                 CELL                                                                                                            
 baseinfo:name                         timestamp=1651553926770, value=Tom                                                                              
1 row(s) in 0.0100 seconds

9,查询指定版本的列族信息

hbase(main):015:0> create 'multi_versions',{NAME=>'baseinfo', VERSIONS=>3}
0 row(s) in 1.2340 seconds

=> Hbase::Table - multi_versions
hbase(main):016:0> put 'multi_versions','10000','baseinfo:name','Jack'
0 row(s) in 0.0110 seconds

hbase(main):017:0> put 'multi_versions','10000','baseinfo:name','Tom'
0 row(s) in 0.0050 seconds

hbase(main):018:0> put 'multi_versions','10000','baseinfo:name','Mark'
0 row(s) in 0.0090 seconds

hbase(main):019:0> get 'multi_versions','10000','baseinfo:name'
COLUMN                                 CELL                                                                                                            
 baseinfo:name                         timestamp=1651554044660, value=Mark                                                                             
1 row(s) in 0.0080 seconds

hbase(main):020:0> get 'multi_versions','10000',{COLUMN=>'baseinfo:name',VERSIONS=>3}
COLUMN                                 CELL                                                                                                            
 baseinfo:name                         timestamp=1651554044660, value=Mark                                                                             
 baseinfo:name                         timestamp=1651554036790, value=Tom                                                                              
 baseinfo:name                         timestamp=1651554022831, value=Jack                                                                             
3 row(s) in 0.0140 seconds

10,删除一列数据

hbase(main):021:0> get 'mytable','P001'
COLUMN                                 CELL                                                                                                            
 baseinfo:age                          timestamp=1651553704698, value=21                                                                               
 baseinfo:id_card                      timestamp=1651553753222, value=12345678                                                                         
 baseinfo:name                         timestamp=1651553926770, value=Tom                                                                              
 baseinfo:tel                          timestamp=1651553727449, value=13921345678                                                                      
 extrainfo:company                     timestamp=1651553776178, value=Dream                                                                            
5 row(s) in 0.0110 seconds

hbase(main):022:0> delete 'mytable','P001','baseinfo:id_card'
0 row(s) in 0.0140 seconds

hbase(main):023:0> scan 'mytable'
ROW                                    COLUMN+CELL                                                                                                     
 P001                                  column=baseinfo:age, timestamp=1651553704698, value=21                                                          
 P001                                  column=baseinfo:name, timestamp=1651553926770, value=Tom                                                        
 P001                                  column=baseinfo:tel, timestamp=1651553727449, value=13921345678                                                 
 P001                                  column=extrainfo:company, timestamp=1651553776178, value=Dream                                                  
1 row(s) in 0.0160 seconds

11,删除一个列族

在删除列族之前,先disable表,然后将列族标记为delete,再enable表。

hbase(main):024:0> disable 'mytable'
0 row(s) in 2.2660 seconds

hbase(main):026:0> alter 'mytable',NAME=>'extrainfo',METHOD=>'delete'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.9150 seconds

hbase(main):027:0> enable 'mytable'
0 row(s) in 1.2560 seconds

hbase(main):028:0> scan 'mytable'
ROW                                    COLUMN+CELL                                                                                                     
 P001                                  column=baseinfo:age, timestamp=1651553704698, value=21                                                          
 P001                                  column=baseinfo:name, timestamp=1651553926770, value=Tom                                                        
 P001                                  column=baseinfo:tel, timestamp=1651553727449, value=13921345678                                                 
1 row(s) in 0.0100 seconds

hbase(main):029:0> describe 'mytable'
Table mytable is ENABLED                                                                                                                               
mytable                                                                                                                                                
COLUMN FAMILIES DESCRIPTION                                                                                                                            
{NAME => 'baseinfo', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 
'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                           
1 row(s) in 0.0190 seconds

12,删除表

可以先执行is_enabled看看有没有被disable,然后再删除。

hbase(main):030:0> is_enabled 'mytable'
true                                                                                                                                                   
0 row(s) in 0.0120 seconds

hbase(main):031:0> drop 'mytable'

ERROR: Table mytable is enabled. Disable it first.

Here is some help for this command:
Drop the named table. Table must first be disabled:
  hbase> drop 't1'
  hbase> drop 'ns1:t1'


hbase(main):032:0> disable 'mytable'
0 row(s) in 2.2500 seconds

hbase(main):033:0> drop 'mytable'
0 row(s) in 1.2600 seconds

13,查看所有表

hbase(main):034:0> list
TABLE                                                                                                                                                  
kylin_metadata                                                                                                                                         
multi_versions                                                                                                                                         
2 row(s) in 0.0160 seconds

=> ["kylin_metadata", "multi_versions"]

相关文章

网友评论

      本文标题:HBASE常用操作命令实践

      本文链接:https://www.haomeiwen.com/subject/dggbyrtx.html