当前位置: 首页 > news >正文

HBase Shell的应用案例

电商( eshop)平台具有海量数据、高并发访问、高速读写等特征,适合使用HBase分布式数据库进行数据存储。本节通过一个 HBase在电商平台的应用案例,熟练掌握并综合运用HBase Shell命令行终端提供的各种操作命令。

一、电商(eshop)平台的逻辑数据模型

在HBase创建一个自定义命名空间eshop,用于存放电商平台的用户表shopping(客户商品订单表)。用户表shopping 包括customer、order和 item共三个列族,用逻辑数据模型来表示表中存放的数据。如表1所示:

表1 用逻辑数据模型表示电商系统用户表shopping中存放的数据
行键(RowKey)列族:customer列族:order列族:item
列限定符单元格值列限定符单元格值列限定符单元格值
s001nameJacknumber1item_nameiphone8
s001phone00000000001datetime2020-4-21price8000.00 
s001addressWuHanpay-statenot payed
s001levelnormal
s002nameTomnumber2item_nameHAWEI MATE X2
s002phone00000000002datetime2020-4-22price6000.00 
s002addressBeiJing
s002preferencee-product
s003nameMikenumber3item_nameXIAO MI 11
s003phone00000000003datetime2020-4-23price5000.00 
s003addressShangHai
s003age20
s004nameLucynumber4item_nameLancome
s004phone00000000004datetime2020-4-23price10000.00 
s004addressHangZhoupay-statepayed
s004preferencecosmeticspost-staterecieved
s004levelVIP
s005nameLilynumber10item_nameLV
s005phone00000000005datetime2020-4-23price20000.00 
s005preferencehandbagpay-statepayed
s005levelVIPpost-statedelivered
s005emailabc@qq.com

二、使用HBase Shell操作电商平台数据

1.对电商平台数据执行简单读写操作

1)创建一个名称为eshop的名字空间,并列出HBase系统所有的名字空间。

hbase:003:0> create_namespace 'eshop'
Took 3.5909 seconds                                                                            
hbase:004:0> list_namespace
NAMESPACE                                                                                      
default                                                                                        
eshop                                                                                          
hbase                                                                                          
3 row(s)
Took 0.0606 seconds

2)在eshop名字空间中创建表名为shopping的用户表,包含1个列族customer;再列出HBase的所有数据表。

hbase:012:0> create 'eshop:shopping','customer'
2024-03-22 01:33:35,528 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: CREATE, Table Name: eshop:shopping, procId: 216 completed
Created table eshop:shopping
Took 2.5136 seconds                                                                            
=> Hbase::Table - eshop:shopping
hbase:013:0> list
TABLE                                                                                          
eshop:shopping                                                                                 
1 row(s)
Took 0.0670 seconds                                                                            
=> ["eshop:shopping"]

3)给eshop 名字空间中的shopping表增加两个新的列族order和 item;再查看其表格结构。

hbase:018:0> alter 'eshop:shopping','order','item'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 3.4106 seconds                                                                            
hbase:019:0> desc 'eshop:shopping'
Table eshop:shopping is ENABLED                                                                
eshop:shopping, {TABLE_ATTRIBUTES => {METADATA => {'hbase.store.file-tracker.impl' => 'DEFAULT'
}}}                                                                                            
COLUMN FAMILIES DESCRIPTION                                                                    
{NAME => 'customer', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FA
LSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE =
> '0', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true',BLOCKSIZE => '65536 B (64KB)'}                                                                {NAME => 'item', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE'
, DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0
', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLO
CKSIZE => '65536 B (64KB)'}                                                                    {NAME => 'order', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE
', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '
0', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BL
OCKSIZE => '65536 B (64KB)'}                                                                   3 row(s)

4)先删除 shopping表后再重新创建shopping表,包含3个列族customer,order和 item。

hbase:020:0> disable 'eshop:shopping'
2024-03-22 01:38:46,086 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(926)) - Started disable of eshop:shopping
2024-03-22 01:38:46,764 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DISABLE, Table Name: eshop:shopping, procId: 228 completed
Took 0.7314 seconds                                                                            
hbase:021:0> drop 'eshop:shopping'
2024-03-22 01:38:58,599 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DELETE, Table Name: eshop:shopping, procId: 231 completed
Took 0.4091 seconds                                                                            
hbase:022:0> list
TABLE                                                                                          
0 row(s)
Took 0.0491 seconds                                                                            
=> []
hbase:023:0> create 'eshop:shopping','customer','order','item'
2024-03-22 01:39:52,129 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: CREATE, Table Name: eshop:shopping, procId: 232 completed
Created table eshop:shopping
Took 2.2332 seconds                                                                            
=> Hbase::Table - eshop:shopping

5)修改shopping表的表级别属性,将文件大小最大值修改为134217728字节。

hbase:024:0> alter 'eshop:shopping',MAX_FILESIZE=>134217728
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.2104 seconds

6)描述shopping表的列族属性信息。

hbase:025:0> desc 'eshop:shopping'
Table eshop:shopping is ENABLED                                                                
eshop:shopping, {TABLE_ATTRIBUTES => {MAX_FILESIZE => '134217728 B (128MB)', METADATA => {'hbas
e.store.file-tracker.impl' => 'DEFAULT'}}}                                                     
COLUMN FAMILIES DESCRIPTION                                                                    
{NAME => 'customer', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FA
LSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE =
> '0', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true',BLOCKSIZE => '65536 B (64KB)'}                                                                {NAME => 'item', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE'
, DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0
', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLO
CKSIZE => '65536 B (64KB)'}                                                                    {NAME => 'order', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE
', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '
0', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BL
OCKSIZE => '65536 B (64KB)'}                                                                   3 row(s)
Quota is disabled
Took 0.0846 seconds

7)将用户表shopping逻辑数据模型中的所有数据写入到shooping表中。

hbase:026:0> put 'eshop:shopping','s001','customer:name','Jack'
Took 0.6497 seconds                                                                            
hbase:027:0> put 'eshop:shopping','s001','customer:phone','00000000001'
Took 0.0513 seconds                                                                            
hbase:028:0> put 'eshop:shopping','s001','customer:address','WuHan'
Took 0.0231 seconds                                                                            
hbase:029:0> put 'eshop:shopping','s001','customer:level','normal'
Took 0.0139 seconds                                                                            
hbase:030:0> put 'eshop:shopping','s001','order:number','1'
Took 0.0282 seconds                                                                            
hbase:031:0> put 'eshop:shopping','s001','order:datetime','2020-4-21'
Took 0.0488 seconds                                                                            
hbase:032:0> put 'eshop:shopping','s001','order:pay-state','not-payed'
Took 0.0215 seconds                                                                            
hbase:033:0> put 'eshop:shopping','s001','item:item_name','iphone8'
Took 0.0396 seconds                                                                            
hbase:034:0> put 'eshop:shopping','s001','item:price','8000.00'
Took 0.0133 seconds
hbase:040:0> put 'eshop:shopping','s002','customer:name','Tom'
Took 0.0170 seconds                                                                                                                    
hbase:041:0> put 'eshop:shopping','s002','customer:phone','00000000002'
Took 0.0196 seconds                                                                                                                    
hbase:042:0> put 'eshop:shopping','s002','customer:address','BeiJing'
Took 0.0214 seconds                                                                                                                    
hbase:043:0> put 'eshop:shopping','s002','customer:preference','e-product'
Took 0.0196 seconds                                                                                                                    
hbase:044:0> put 'eshop:shopping','s002','order:number','2'
Took 0.0150 seconds                                                                                                                    
hbase:045:0> put 'eshop:shopping','s002','order:datetime','2020-4-22'
Took 0.0149 seconds                                                                                                                    
hbase:046:0> put 'eshop:shopping','s002','item:item_name','HUAWEI MATE X2'
Took 0.0471 seconds                                                                                                                    
hbase:047:0> put 'eshop:shopping','s002','item:price','6000.00'
Took 0.0421 seconds 
hbase:053:0> put 'eshop:shopping','s003','customer:name','Mike'
Took 0.0621 seconds                                                                                                                    
hbase:054:0> put 'eshop:shopping','s003','customer:phone','00000000003'
Took 0.0216 seconds                                                                                                                    
hbase:055:0> put 'eshop:shopping','s003','customer:address','Shanghai'
Took 0.0172 seconds                                                                                                                    
hbase:056:0> put 'eshop:shopping','s003','customer:age','20'
Took 0.0390 seconds                                                                                                                    
hbase:057:0> put 'eshop:shopping','s003','order:number','3'
Took 0.0605 seconds                                                                                                                    
hbase:058:0> put 'eshop:shopping','s003','order:datetime','2020-4-23'
Took 0.0120 seconds                                                                                                                    
hbase:059:0> put 'eshop:shopping','s003','item:item_name','XIAO MI 11'
Took 0.0084 seconds                                                                                                                    
hbase:060:0> put 'eshop:shopping','s003','item:price','5000.00'
Took 0.0207 seconds 
hbase:061:0> put 'eshop:shopping','s004','customer:name','Lucy'
Took 0.0157 seconds                                                                                                                    
hbase:062:0> put 'eshop:shopping','s004','customer:phone','00000000004'
Took 0.0085 seconds                                                                                                                    
hbase:063:0> put 'eshop:shopping','s004','customer:address','HangZhou'
Took 0.0165 seconds                                                                                                                    
hbase:064:0> put 'eshop:shopping','s004','customer:preference','cosmetics'
Took 0.0166 seconds                                                                                                                    
hbase:065:0> put 'eshop:shopping','s004','customer:level','VIP'
Took 0.0113 seconds                                                                                                                    
hbase:066:0> put 'eshop:shopping','s004','order:number','4'
Took 0.0145 seconds                                                                                                                    
hbase:067:0> put 'eshop:shopping','s004','order:datetime','202-4-23'
Took 0.0300 seconds                                                                                                                    
hbase:068:0> put 'eshop:shopping','s004','order:pay-state','payed'
Took 0.0086 seconds                                                                                                                    
hbase:069:0> put 'eshop:shopping','s004','order:post_state','recieved'
Took 0.0148 seconds                                                                                                                    
hbase:070:0> put 'eshop:shopping','s004','item:item_name','Lancome'
Took 0.0251 seconds                                                                                                                    
hbase:071:0> put 'eshop:shopping','s004','item:price','10000.00'
Took 0.0289 seconds                                                                                                                    
hbase:072:0> put 'eshop:shopping','s005','customer:name','Lily'
Took 0.0249 seconds                                                                                                                    
hbase:073:0> put 'eshop:shopping','s005','customer:phone','00000000005'
Took 0.0286 seconds                                                                                                                    
hbase:074:0> put 'eshop:shopping','s005','customer:preference','handbag'
Took 0.0263 seconds                                                                                                                    
hbase:075:0> put 'eshop:shopping','s005','customer:level','VIP'
Took 0.0178 seconds                                                                                                                    
hbase:076:0> put 'eshop:shopping','s005','customer:email','abc@qq.com'
Took 0.0237 seconds                                                                                                                    
hbase:077:0> put 'eshop:shopping','s005','order:number','10'
Took 0.0098 seconds                                                                                                                    
hbase:078:0> put 'eshop:shopping','s005','order:datetime','2020-4-23'
Took 0.0211 seconds                                                                                                                    
hbase:079:0> put 'eshop:shopping','s005','order:pay-state','payed'
Took 0.0245 seconds                                                                                                                    
hbase:080:0> put 'eshop:shopping','s005','order:post-state','delivered'
Took 0.0256 seconds                                                                                                                    
hbase:081:0> put 'eshop:shopping','s005','item:item_name','LV'
Took 0.0258 seconds                                                                                                                    
hbase:082:0> put 'eshop:shopping','s005','item:price','20000.00'
Took 0.0199 seconds

8)对shopping表进行全表扫描(读取所有数据行的所有数据列单元格)。

hbase:084:0> scan 'eshop:shopping'
ROW                                COLUMN+CELL                                                                                         s001                              column=customer:address, timestamp=2024-03-22T01:53:27.728, value=WuHan                             s001                              column=customer:level, timestamp=2024-03-22T01:54:02.171, value=normal                              s001                              column=customer:name, timestamp=2024-03-22T02:01:27.551, value=Jack                                 s001                              column=customer:phone, timestamp=2024-03-22T01:52:48.474, value=00000000001                         s001                              column=item:item_name, timestamp=2024-03-22T01:57:17.558, value=iphone8                             s001                              column=item:price, timestamp=2024-03-22T01:57:36.270, value=8000.00                                 s001                              column=order:datetime, timestamp=2024-03-22T01:56:12.975, value=2020-4-21                           s001                              column=order:number, timestamp=2024-03-22T01:55:44.843, value=1                                     s001                              column=order:pay-state, timestamp=2024-03-22T01:56:41.609, value=not-payed                          s002                              column=customer:address, timestamp=2024-03-22T02:03:43.489, value=BeiJing                           s002                              column=customer:name, timestamp=2024-03-22T02:02:58.983, value=Tom                                  s002                              column=customer:phone, timestamp=2024-03-22T02:03:20.715, value=00000000002                         s002                              column=customer:preference, timestamp=2024-03-22T02:04:05.414, value=e-product                      s002                              column=item:item_name, timestamp=2024-03-22T02:05:43.969, value=HUAWEI MATE X2                      s002                              column=item:price, timestamp=2024-03-22T02:06:41.294, value=6000.00                                 s002                              column=order:datetime, timestamp=2024-03-22T02:05:05.397, value=2020-4-22                           s002                              column=order:number, timestamp=2024-03-22T02:04:44.084, value=2                                     s003                              column=customer:address, timestamp=2024-03-22T02:23:25.999, value=Shanghai                          s003                              column=customer:age, timestamp=2024-03-22T02:23:39.768, value=20                                    s003                              column=customer:name, timestamp=2024-03-22T02:22:45.243, value=Mike                                 s003                              column=customer:phone, timestamp=2024-03-22T02:23:08.255, value=00000000003                         s003                              column=item:item_name, timestamp=2024-03-22T02:24:45.930, value=XIAO MI 11                          s003                              column=item:price, timestamp=2024-03-22T02:25:02.682, value=5000.00                                 s003                              column=order:datetime, timestamp=2024-03-22T02:24:17.560, value=2020-4-23                           s003                              column=order:number, timestamp=2024-03-22T02:24:00.754, value=3                                     s004                              column=customer:address, timestamp=2024-03-22T02:26:34.380, value=HangZhou                          s004                              column=customer:level, timestamp=2024-03-22T02:27:35.830, value=VIP                                 s004                              column=customer:name, timestamp=2024-03-22T02:25:44.580, value=Lucy                                 s004                              column=customer:phone, timestamp=2024-03-22T02:26:07.073, value=00000000004                         s004                              column=customer:preference, timestamp=2024-03-22T02:27:17.408, value=cosmetics                      s004                              column=item:item_name, timestamp=2024-03-22T02:29:59.988, value=Lancome                             s004                              column=item:price, timestamp=2024-03-22T02:30:16.339, value=10000.00                                s004                              column=order:datetime, timestamp=2024-03-22T02:28:40.420, value=202-4-23                            s004                              column=order:number, timestamp=2024-03-22T02:28:20.236, value=4                                     s004                              column=order:pay-state, timestamp=2024-03-22T02:28:59.712, value=payed                              s004                              column=order:post_state, timestamp=2024-03-22T02:29:21.588, value=recieved                          s005                              column=customer:email, timestamp=2024-03-22T02:33:56.564, value=abc@qq.com                          s005                              column=customer:level, timestamp=2024-03-22T02:33:34.457, value=VIP                                 s005                              column=customer:name, timestamp=2024-03-22T02:31:36.776, value=Lily                                 s005                              column=customer:phone, timestamp=2024-03-22T02:32:24.128, value=00000000005                         s005                              column=customer:preference, timestamp=2024-03-22T02:33:09.550, value=handbag                        s005                              column=item:item_name, timestamp=2024-03-22T02:36:24.703, value=LV                                  s005                              column=item:price, timestamp=2024-03-22T02:36:40.468, value=20000.00                                s005                              column=order:datetime, timestamp=2024-03-22T02:34:45.746, value=2020-4-23                           s005                              column=order:number, timestamp=2024-03-22T02:34:23.380, value=10                                    s005                              column=order:pay-state, timestamp=2024-03-22T02:35:07.771, value=payed                              s005                              column=order:post-state, timestamp=2024-03-22T02:35:59.275, value=delivered                         
5 row(s)
Took 0.1527 seconds 

9)读取shopping表的行键为s004的所有数据列的单元格值。

hbase:085:0> get 'eshop:shopping','s004'
COLUMN                             CELL                                                                                                customer:address                  timestamp=2024-03-22T02:26:34.380, value=HangZhou                                                   customer:level                    timestamp=2024-03-22T02:27:35.830, value=VIP                                                        customer:name                     timestamp=2024-03-22T02:25:44.580, value=Lucy                                                       customer:phone                    timestamp=2024-03-22T02:26:07.073, value=00000000004                                                customer:preference               timestamp=2024-03-22T02:27:17.408, value=cosmetics                                                  item:item_name                    timestamp=2024-03-22T02:29:59.988, value=Lancome                                                    item:price                        timestamp=2024-03-22T02:30:16.339, value=10000.00                                                   order:datetime                    timestamp=2024-03-22T02:28:40.420, value=202-4-23                                                   order:number                      timestamp=2024-03-22T02:28:20.236, value=4                                                          order:pay-state                   timestamp=2024-03-22T02:28:59.712, value=payed                                                      order:post_state                  timestamp=2024-03-22T02:29:21.588, value=recieved                                                   
1 row(s)
Took 0.3746 seconds

10)读取shopping表的行键s005,列族customer,列限定符preference 的数据列的单元格值。

hbase:087:0> get 'eshop:shopping','s005','customer:preference'
COLUMN                             CELL                                                                                              customer:preference               timestamp=2024-03-22T02:33:09.550, value=handbag                                                  
1 row(s)
Took 0.0361 seconds 

2.对电商平台数据执行复杂读写操作

1)修改shopping表的列族属性,将列族order的列族属性VERSIONS修改为3。

hbase:090:0> alter 'eshop:shopping',NAME=>'order',VERSIONS=>3
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 6.8406 seconds

2)修改shopping 表的列族属性,将列族order的列族属性TTL生存时间修改为1周,压缩模式修改为gz。

hbase:093:0> alter 'eshop:shopping',NAME=>'info',TTL=>60*60*24*7,COMPRESSION=>'gz'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 3.3336 seconds

3)将shopping表的行键为s001,列族为order,列限定符为number 的数据列的单元格值依次修改为2和3。

hbase:094:0> put 'eshop:shopping','s001','order:number',2
Took 0.0721 seconds                                                                                                                  
hbase:095:0> put 'eshop:shopping','s001','order:number',3
Took 0.0368 seconds

4)读取shopping表客户Jack(行键为s001)的订单中商品数量的最近3次的版本值。

hbase:096:0> get 'eshop:shopping','s001',{COLUMN=>'order:number',VERSIONS=>3}
COLUMN                             CELL                                                                                              order:number                      timestamp=2024-03-22T02:54:22.959, value=3                                                        order:number                      timestamp=2024-03-22T02:54:19.466, value=2                                                        order:number                      timestamp=2024-03-22T01:55:44.843, value=1                                                        
1 row(s)
Took 0.1118 seconds 

5)对shopping表指定行键范围s002到s004的数据行进行扫描,扫描结果包括第s002行,也包括第s004行。

hbase:098:0> scan 'eshop:shopping',{STARTROW=>'s002',STOPROW=>'s005'}
ROW                                COLUMN+CELL                                                                                       s002                              column=customer:address, timestamp=2024-03-22T02:03:43.489, value=BeiJing                         s002                              column=customer:name, timestamp=2024-03-22T02:02:58.983, value=Tom                                s002                              column=customer:phone, timestamp=2024-03-22T02:03:20.715, value=00000000002                       s002                              column=customer:preference, timestamp=2024-03-22T02:04:05.414, value=e-product                    s002                              column=item:item_name, timestamp=2024-03-22T02:05:43.969, value=HUAWEI MATE X2                    s002                              column=item:price, timestamp=2024-03-22T02:06:41.294, value=6000.00                               s002                              column=order:datetime, timestamp=2024-03-22T02:05:05.397, value=2020-4-22                         s002                              column=order:number, timestamp=2024-03-22T02:04:44.084, value=2                                   s003                              column=customer:address, timestamp=2024-03-22T02:23:25.999, value=Shanghai                        s003                              column=customer:age, timestamp=2024-03-22T02:23:39.768, value=20                                  s003                              column=customer:name, timestamp=2024-03-22T02:22:45.243, value=Mike                               s003                              column=customer:phone, timestamp=2024-03-22T02:23:08.255, value=00000000003                       s003                              column=item:item_name, timestamp=2024-03-22T02:24:45.930, value=XIAO MI 11                        s003                              column=item:price, timestamp=2024-03-22T02:25:02.682, value=5000.00                               s003                              column=order:datetime, timestamp=2024-03-22T02:24:17.560, value=2020-4-23                         s003                              column=order:number, timestamp=2024-03-22T02:24:00.754, value=3                                   s004                              column=customer:address, timestamp=2024-03-22T02:26:34.380, value=HangZhou                        s004                              column=customer:level, timestamp=2024-03-22T02:27:35.830, value=VIP                               s004                              column=customer:name, timestamp=2024-03-22T02:25:44.580, value=Lucy                               s004                              column=customer:phone, timestamp=2024-03-22T02:26:07.073, value=00000000004                       s004                              column=customer:preference, timestamp=2024-03-22T02:27:17.408, value=cosmetics                    s004                              column=item:item_name, timestamp=2024-03-22T02:29:59.988, value=Lancome                           s004                              column=item:price, timestamp=2024-03-22T02:30:16.339, value=10000.00                              s004                              column=order:datetime, timestamp=2024-03-22T02:28:40.420, value=202-4-23                          s004                              column=order:number, timestamp=2024-03-22T02:28:20.236, value=4                                   s004                              column=order:pay-state, timestamp=2024-03-22T02:28:59.712, value=payed                            s004                              column=order:post_state, timestamp=2024-03-22T02:29:21.588, value=recieved                        
3 row(s)
Took 0.2564 seconds 

6)对shopping表的列族customer 中的所有数据列进行扫描。

hbase:099:0> scan 'eshop:shopping',{COLUMNS=>'customer'}
ROW                                COLUMN+CELL                                                                                       s001                              column=customer:address, timestamp=2024-03-22T01:53:27.728, value=WuHan                           s001                              column=customer:level, timestamp=2024-03-22T01:54:02.171, value=normal                            s001                              column=customer:name, timestamp=2024-03-22T02:01:27.551, value=Jack                               s001                              column=customer:phone, timestamp=2024-03-22T01:52:48.474, value=00000000001                       s002                              column=customer:address, timestamp=2024-03-22T02:03:43.489, value=BeiJing                         s002                              column=customer:name, timestamp=2024-03-22T02:02:58.983, value=Tom                                s002                              column=customer:phone, timestamp=2024-03-22T02:03:20.715, value=00000000002                       s002                              column=customer:preference, timestamp=2024-03-22T02:04:05.414, value=e-product                    s003                              column=customer:address, timestamp=2024-03-22T02:23:25.999, value=Shanghai                        s003                              column=customer:age, timestamp=2024-03-22T02:23:39.768, value=20                                  s003                              column=customer:name, timestamp=2024-03-22T02:22:45.243, value=Mike                               s003                              column=customer:phone, timestamp=2024-03-22T02:23:08.255, value=00000000003                       s004                              column=customer:address, timestamp=2024-03-22T02:26:34.380, value=HangZhou                        s004                              column=customer:level, timestamp=2024-03-22T02:27:35.830, value=VIP                               s004                              column=customer:name, timestamp=2024-03-22T02:25:44.580, value=Lucy                               s004                              column=customer:phone, timestamp=2024-03-22T02:26:07.073, value=00000000004                       s004                              column=customer:preference, timestamp=2024-03-22T02:27:17.408, value=cosmetics                    s005                              column=customer:email, timestamp=2024-03-22T02:33:56.564, value=abc@qq.com                        s005                              column=customer:level, timestamp=2024-03-22T02:33:34.457, value=VIP                               s005                              column=customer:name, timestamp=2024-03-22T02:31:36.776, value=Lily                               s005                              column=customer:phone, timestamp=2024-03-22T02:32:24.128, value=00000000005                       s005                              column=customer:preference, timestamp=2024-03-22T02:33:09.550, value=handbag                      
5 row(s)
Took 0.0883 seconds 

7)对shopping表的列族customer中列名为phone的所有数据列进行扫描。

hbase:100:0> scan 'eshop:shopping',{COLUMNS=>'customer:phone'}
ROW                                COLUMN+CELL                                                                                       s001                              column=customer:phone, timestamp=2024-03-22T01:52:48.474, value=00000000001                       s002                              column=customer:phone, timestamp=2024-03-22T02:03:20.715, value=00000000002                       s003                              column=customer:phone, timestamp=2024-03-22T02:23:08.255, value=00000000003                       s004                              column=customer:phone, timestamp=2024-03-22T02:26:07.073, value=00000000004                       s005                              column=customer:phone, timestamp=2024-03-22T02:32:24.128, value=00000000005                       
5 row(s)
Took 0.0275 seconds

8)对shopping表的前3行数据进行扫描。

hbase:101:0> scan 'eshop:shopping',{LIMIT=>3}
ROW                                COLUMN+CELL                                                                                       s001                              column=customer:address, timestamp=2024-03-22T01:53:27.728, value=WuHan                           s001                              column=customer:level, timestamp=2024-03-22T01:54:02.171, value=normal                            s001                              column=customer:name, timestamp=2024-03-22T02:01:27.551, value=Jack                               s001                              column=customer:phone, timestamp=2024-03-22T01:52:48.474, value=00000000001                       s001                              column=item:item_name, timestamp=2024-03-22T01:57:17.558, value=iphone8                           s001                              column=item:price, timestamp=2024-03-22T01:57:36.270, value=8000.00                               s001                              column=order:datetime, timestamp=2024-03-22T01:56:12.975, value=2020-4-21                         s001                              column=order:number, timestamp=2024-03-22T02:54:22.959, value=3                                   s001                              column=order:pay-state, timestamp=2024-03-22T01:56:41.609, value=not-payed                        s002                              column=customer:address, timestamp=2024-03-22T02:03:43.489, value=BeiJing                         s002                              column=customer:name, timestamp=2024-03-22T02:02:58.983, value=Tom                                s002                              column=customer:phone, timestamp=2024-03-22T02:03:20.715, value=00000000002                       s002                              column=customer:preference, timestamp=2024-03-22T02:04:05.414, value=e-product                    s002                              column=item:item_name, timestamp=2024-03-22T02:05:43.969, value=HUAWEI MATE X2                    s002                              column=item:price, timestamp=2024-03-22T02:06:41.294, value=6000.00                               s002                              column=order:datetime, timestamp=2024-03-22T02:05:05.397, value=2020-4-22                         s002                              column=order:number, timestamp=2024-03-22T02:04:44.084, value=2                                   s003                              column=customer:address, timestamp=2024-03-22T02:23:25.999, value=Shanghai                        s003                              column=customer:age, timestamp=2024-03-22T02:23:39.768, value=20                                  s003                              column=customer:name, timestamp=2024-03-22T02:22:45.243, value=Mike                               s003                              column=customer:phone, timestamp=2024-03-22T02:23:08.255, value=00000000003                       s003                              column=item:item_name, timestamp=2024-03-22T02:24:45.930, value=XIAO MI 11                        s003                              column=item:price, timestamp=2024-03-22T02:25:02.682, value=5000.00                               s003                              column=order:datetime, timestamp=2024-03-22T02:24:17.560, value=2020-4-23                         s003                              column=order:number, timestamp=2024-03-22T02:24:00.754, value=3                                   
3 row(s)
Took 0.1883 seconds 

9)统计shopping表中的数据行数。

hbase:102:0> count 'eshop:shopping'
5 row(s)
Took 0.1783 seconds                                                                                                                  
=> 5

10)删除shopping表的行键为s005,列族为customer,列限定符为email的数据列。

hbase:103:0> delete 'eshop:shopping','s005','customer:email'
Took 0.1145 seconds 

相关文章:

HBase Shell的应用案例

电商( eshop)平台具有海量数据、高并发访问、高速读写等特征,适合使用HBase分布式数据库进行数据存储。本节通过一个 HBase在电商平台的应用案例,熟练掌握并综合运用HBase Shell命令行终端提供的各种操作命令。 一、电商(eshop)平台的逻辑数据模型 在H…...

Allegro许可管理技巧

在数字化时代,软件许可管理对于企业的运营至关重要。然而,许多企业在实施软件管理过程中会遇到各种问题。Allegro许可管理作为一款高效、合规的管理工具,能够帮助企业解决常见的许可管理问题。本文将深入探讨Allegro许可管理中的实用技巧&…...

34 vue 项目默认暴露出去的 public 文件夹 和 CopyWebpackPlugin

前言 这里说一下 vue.config.js 中的一些 public 文件夹是怎么暴露出去的? 我们常见的 CopyWebpackPlugin 是怎么工作的 ? 这个 也是需要 一点一点积累的, 因为 各种插件 有很多, 不过 我们仅仅需要 明白常见的这些事干什么的即可 当然 以下内容会涉及到一部分vue-cli,…...

Redis 不再“开源”,对中国的影响及应对方案

Redis 不再“开源”,使用双许可证 3 月 20 号,Redis 的 CEO Rowan Trollope 在官网上宣布了《Redis 采用双源许可证》的消息。他表示,今后 Redis 的所有新版本都将使用开源代码可用的许可证,不再使用 BSD 协议,而是采用…...

在CentOS中怎么安装和配置NginxWeb服务器

在CentOS中安装和配置Nginx Web服务器可以通过以下步骤完成: 1. 使用yum安装Nginx: sudo yum install nginx 2. 启动Nginx服务: sudo systemctl start nginx 3. 设置Nginx开机自启动: sudo systemctl enable nginx 4. 配置防火墙规…...

使用docker搭建Fluentd的教程

使用Docker搭建Fluentd的教程 步骤 1: 拉取Fluentd镜像 首先,需要从Docker Hub上拉取Fluentd的官方镜像: docker pull fluent/fluentd:v1.14-debian-1这里使用的是基于Debian的Fluentd 1.14版本的镜像,可以根据需要选择其他版本。 步骤 2…...

Python的re模块进行正则表达式操作时的常用方法[回顾学习]

re 模块是 Python 中用于处理正则表达式的标准库模块。通过 re 模块,可进行字符串匹配、搜索和替换等各种操作。 有几个常用的方法:# re.match(pattern, string):从字符串开头开始匹配模式,并返回匹配对象。适合用于确定字符串是否…...

Rust之构建命令行程序(五):环境变量

开发环境 Windows 11Rust 1.77.0 VS Code 1.87.2 项目工程 这次创建了新的工程minigrep. 使用环境变量 我们将通过添加一个额外的功能来改进minigrep:一个不区分大小写的搜索选项,用户可以通过环境变量打开该选项。我们可以将此功能设置为命令行选项,…...

ARMday7

VID_20240322_203313 1.思维导图 2.main.c #include"key_inc.h" //封装延时函数 void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j){}} } int main() {//按键中断的初始化key1_it_config();key2_it_config();key3_it_config();while(1){printf(&q…...

Ubuntu中安装VSCode的一个指令

问题描述 本来想去VSCode官网上下载软件包&#xff0c;然后双击使用Ubuntu Software安装的&#xff0c;但是安装老不成功。 想用命令行指令dpkg进行安装&#xff0c;虽然能成功&#xff0c;但是后续使用 code . 命令打开VSCode又报错说找不到命令。 解决方式 在命令行中使用…...

生活电子产品拆解分析~汇总目录

一、锂电池电源 ①电子产品拆解分析-暖手宝 ②电子产品拆解分析-电动牙刷 ③电子产品拆解分析-充电宝台灯 ④电子产品拆解分析-太阳能自动感应灯 ⑤电子产品拆解分析-人体感应灯 ⑥电子产品拆解分析-食物电子秤 ⑦电子产品拆解分析-6600mA充电宝 ⑨电子产品拆解分析-触摸化妆镜…...

Tkinter 一文读懂

Tkinter 简介 Tkinter&#xff08;即 tk interface&#xff0c;简称“Tk”&#xff09;本质上是对 Tcl/Tk 软件包的 Python 接口封装&#xff0c;它是 Python 官方推荐的 GUI 工具包&#xff0c;属于 Python 自带的标准库模块&#xff0c;当您安装好 Python 后&#xff0c;就可…...

2核4G服务器阿里云性能测评和优惠价格表

阿里云2核4G服务器租用优惠价格&#xff0c;轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图&#xff1a; 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…...

Day41:WEB攻防-ASP应用HTTP.SYS短文件文件解析Access注入数据库泄漏

目录 ASP-默认安装-MDB数据库泄漏下载 ASP-中间件-CVE&短文件&解析&写权限 HTTP.SYS&#xff08;CVE-2015-1635&#xff09;主要用作蓝屏破坏&#xff0c;跟权限不挂钩 IIS短文件(iis全版本都可能有这个问题) IIS文件解析 IIS写权限 ASP-SQL注入-SQLMAP使用…...

什么是单点登录?

单点登录&#xff08;Single Sign On&#xff0c;简称 SSO&#xff09;简单来说就是用户只需在一处登录&#xff0c;不用在其他多系统环境下重复登录。用户的一次登录就能得到其他所有系统的信任。 为什么需要单点登录 单点登录在大型网站应用频繁&#xff0c;比如阿里旗下有淘…...

elasticsearch的数据搜索

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户…...

云原生相关概念(小白版)

先说概念&#xff1a; 云原生应该是一种“建立在云上的多种效率提升技术的复合体"&#xff08;而不是单一的技术创新&#xff09;&#xff0c;主要就是在云技术摆脱物理储存限制的基础上&#xff0c;进一步实现应用的专业优化&#xff08;即文章里说的按功能切分&#xf…...

Dell戴尔XPS 12 9250二合一笔记本电脑原装出厂Windows10系统包下载

链接&#xff1a;https://pan.baidu.com/s/1rqUEM_q5DznF0om6eevcwg?pwdvij0 提取码&#xff1a;vij0 戴尔原厂WIN10系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell等预装程序 文件格式&#xff1a;esd/wim/sw…...

YOLOv5改进 | 图像去雾 | 利用图像去雾网络AOD-PONO-Net网络增改进图像物体检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是利用AODNet图像去雾网络结合PONO机制实现二次增强,我将该网络结合YOLOv5针对图像进行去雾检测(也适用于一些模糊场景,图片不清晰的检测),同时本文的内容不影响其它的模块改进可以作为工作量凑近大家的论文里,非常的适用,图像去…...

代码随想录算法训练营Day55 ||leetCode 583. 两个字符串的删除操作 || 72. 编辑距离

583. 两个字符串的删除操作 这道题的状态方程比上一题简单一些 初始化如下 class Solution { public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size() 1, vector<int>(word2.size() 1));for (int i 0; i < word1…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的&#xff0c;如果需要进行.NET开发&#xff0c;则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET&#xff0c;所以要进…...