HBase Shell根本操作

打印 上一主题 下一主题

主题 836|帖子 836|积分 2508

一、进入Hbase Shell客户端

先在Linux Shell命令行终端实验start-dfs.sh脚本启动HDFS,再实验start-hbase.sh脚本启动HBase。如果Linux系统已设置HBase环境变量,可直接在任意目录下实验hbase shell脚本命令,就可进入HBase Shell的命令行终端环境,exit可以退出HBase Shell(我安装的是伪分布式的HBase)。
(1) help资助命令(或者help '命令名称'查看某一具体命令的使用方法)
  1. hbase:055:0> help
  2. HBase Shell, version 2.5.6, r6bac842797dc26bedb7adc0759358e4c8fd5a992, Sat Oct 14 23:36:46 PDT 2023
  3. Type 'help "COMMAND"', (e.g. 'help "get"' -- the quotes are necessary) for help on a specific command.
  4. Commands are grouped. Type 'help "COMMAND_GROUP"', (e.g. 'help "general"') for help on a command group.
  5. COMMAND GROUPS:
  6.   Group name: general
  7.   Commands: processlist, status, table_help, version, whoami
  8.   Group name: ddl
  9.   Commands: alter, alter_async, alter_status, clone_table_schema, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, list_regions, locate_region, show_filters
  10.   Group name: namespace
  11.   Commands: alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables
  12.   Group name: dml
  13.   Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve
复制代码
二、General通用操作命令

(1)status:查看HBase集群状态
  1. hbase:051:0> status
  2. 1 active master, 0 backup masters, 1 servers, 0 dead, 5.0000 average load
  3. Took 2.3419 seconds
复制代码
(2)version:查看HBase版本信息
  1. hbase:052:0> version
  2. 2.5.6, r6bac842797dc26bedb7adc0759358e4c8fd5a992, Sat Oct 14 23:36:46 PDT 2023
  3. Took 0.0029 seconds
复制代码
(3)whoami:查看当前登录HBase的系统用户信息
  1. hbase:053:0> whoami
  2. root (auth:SIMPLE)
  3.     groups: root
  4. Took 0.1906 seconds
复制代码
(4)table_help:查看HBase数据表操作的资助信息
  1. table_help
  2. Help for table-reference commands.
  3. You can either create a table via 'create' and then manipulate the table via commands like 'put', 'get', etc.
  4. See the standard help information for how to use each of these commands.
复制代码
三、Namespace操作

namespace(命名空间)是HBase对数据表的逻辑分组,用于数据表的业务划分。比方上层应用可以差别业务的数据表分别放置在差别的名字空间,以实现差别业务数据表之间的数据隔离。命名空间和数据表是一对多关系,命名空间可以包含多张数据表,一张数据表只能属于一个名字空间。HBase数据库中的NameSpace类似于MySQL数据库中的database。 命名空间是HBASE对数据表的逻辑分组,用于数据表的业务划分。
(1)list_namespace:查询所有命名空间

  1. hbase:036:0> list_namespace
  2. NAMESPACE                                                                                      
  3. default                                                                                       
  4. hbase                                                                                          
  5. ns1                                                                                            
  6. 3 row(s)
  7. Took 0.0654 seconds
复制代码
(2)list_namespace_tables : 查询指定命名空间的表

  1. hbase:038:0> list_namespace_tables 'ns1'
  2. TABLE                                                                                          
  3. t1                                                                                             
  4. 1 row(s)
  5. Took 0.1958 seconds                                                                           
  6. => ["t1"]
复制代码
(3)create_namespace : 创建指定的命名空间

  1. hbase:039:0> create_namespace 'ns2'
  2. Took 0.4516 seconds
复制代码
(4)describe_namespace : 查询指定命名空间的布局

  1. hbase:041:0> describe_namespace 'ns2'
  2. DESCRIPTION                                                                                    
  3. {NAME => 'ns2'}
复制代码
(5)alter_namespace :修改命名空间的布局

  1. hbase:045:0> alter_namespace 'ns2',{METHOD=>'set','authore'=>'Mike'}
  2. Took 1.6665 seconds                                                                           
  3. hbase:046:0> describe_namespace 'ns2'
  4. DESCRIPTION                                                                                    
  5. {NAME => 'ns2', author => 'Mike'}                                                                 
  6. Quota is disabled
  7. Took 0.2023 seconds
  8. hbase:047:0> alter_namespace 'ns2',{METHOD=>'unset','NAME'=>'author'}
  9. Took 0.1602 seconds                                                                           
  10. hbase:048:0> describe_namespace 'ns2'
  11. DESCRIPTION                                                                                    
  12. {NAME => 'ns2'}                                                                                
  13. Quota is disabled
  14. Took 0.0878 seconds
复制代码
(6)drop_namespace:删除命名空间

  1. hbase:049:0> drop_namespace 'ns2'
  2. Took 0.4194 seconds                                                                           
  3. hbase:050:0> list_namespace
  4. NAMESPACE                                                                                      
  5. default                                                                                       
  6. hbase                                                                                          
  7. ns1                                                                                            
  8. 3 row(s)
  9. Took 0.0610 seconds
复制代码
四、DDL操作命令

DDL分组中包含的操作命令很多,重要用于对HBase数据库表的相干管理操作,重要包罗创建表、修改表、删除表、列出表、启用表、禁用表等操作。
(1)create:建表(建表的时间,必须至少指定一个列族名称)

在默认的命名空间中,创建表students,并包含一个名为info的列族,列族属性默认。
  1. #如果保留默认的列族设置,建表时直接写列族的名字就可以了
  2. hbase:070:0> create 'students','info'
  3. 2024-03-21 00:25:59,140 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: CREATE, Table Name: default:students, procId: 131 completed
  4. Created table students
  5. Took 3.4314 seconds                                                                           
  6. => Hbase::Table - students
复制代码
 在指定的ns1命名空间中,创建表t1,并包含一个名为f1的列族,列族属性自定义。
  1. #建表的同时指定列族属性
  2. hbase:071:0> create 'ns1:t1',{NAME=>'f1',VERSIONS=>5}
  3. 2024-03-21 00:28:43,872 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: CREATE, Table Name: ns1:t1, procId: 134 completed
  4. Created table ns1:t1
  5. Took 2.3465 seconds                                                                           
  6. => Hbase::Table - ns1:t1
复制代码

(2)list : 查询所有的表

  1. hbase:072:0> list
  2. TABLE                                                                                          
  3. students                                                                                       
  4. ns1:t1                                                                                         
  5. 2 row(s)
  6. Took 0.2459 seconds                                                                           
  7. => ["students", "ns1:t1"]
复制代码
(3)describe/desc : 查询表布局

  1. hbase:074:0> describe 'students'
  2. Table students is ENABLED                                                                     
  3. students, {TABLE_ATTRIBUTES => {METADATA => {'hbase.store.file-tracker.impl' => DEFAULT'}}}   
  4. COLUMN FAMILIES DESCRIPTION                                                                    
  5. {NAME => 'info', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE'
  6. , DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0
  7. ', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLO
  8. CKSIZE => '65536 B (64KB)'}                                                                    
  9. 1 row(s)
  10. Quota is disabled
  11. Took 1.1379 seconds
复制代码
(4)exists : 判定指定表明是否存在
  1. hbase:075:0> exists 'ns1:t1'
  2. Table ns1:t1 does exist                                                                        
  3. Took 0.0714 seconds                                                                           
  4. => true
复制代码
(5)alter:修改表,添加、修改、删除列簇信息

为students表格,增长一个列族score。
  1. hbase:076:0> alter 'students','score'
  2. Updating all regions with the new schema...
  3. 1/1 regions updated.
  4. Done.
  5. Took 3.8994 seconds                                                                           
  6. hbase:077:0> desc 'students'
  7. Table students is ENABLED                                                                     
  8. students, {TABLE_ATTRIBUTES => {METADATA => {'hbase.store.file-tracker.impl' => 'DEFAULT'}}}   
  9. COLUMN FAMILIES DESCRIPTION                                                                    
  10. {NAME => 'info', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE'
  11. , DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0
  12. ', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLO
  13. CKSIZE => '65536 B (64KB)'}                                                                    
  14. {NAME => 'score', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE
  15. ', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '
  16. 0', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BL
  17. OCKSIZE => '65536 B (64KB)'}                                                                  
  18. 2 row(s)
  19. Quota is disabled
  20. Took 0.0753 seconds
复制代码
修改表格students的列族score的属性VERSIONS的值为5。
  1. hbase:078:0> alter 'students',NAME=>'score',VERSIONS=>5
  2. Updating all regions with the new schema...
  3. 1/1 regions updated.
  4. Done.
  5. Took 1.9776 seconds
复制代码
删除表格表格students的列族score。
  1. hbase:079:0> alter 'students',NAME=>'score',METHOD=>'delete'
  2. Updating all regions with the new schema...
  3. 1/1 regions updated.
  4. Done.
  5. Took 2.5517 seconds                                                                           
  6. hbase:080:0> desc 'students'
  7. Table students is ENABLED                                                                     
  8. students, {TABLE_ATTRIBUTES => {METADATA => {'hbase.store.file-tracker.impl' =>'DEFAULT'}}}   
  9. COLUMN FAMILIES DESCRIPTION                                                                    
  10. {NAME => 'info', INDEX_BLOCK_ENCODING => 'NONE', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE'
  11. , DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0
  12. ', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLO
  13. CKSIZE => '65536 B (64KB)'}                                                                    
  14. 1 row(s)
  15. Quota is disabled
  16. Took 0.2625 seconds
复制代码
(6)disable:禁用表格
  1. hbase:083:0> disable 'students'
  2. 2024-03-21 00:52:29,298 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(926)) - Started disable of students
  3. 2024-03-21 00:52:29,810 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DISABLE, Table Name: default:students, procId: 158 completed
  4. Took 0.5354 seconds
复制代码
(7)enable:启用表格
  1. hbase:084:0> enable 'students'
  2. 2024-03-21 00:52:51,239 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(866)) - Started enable of students
  3. 2024-03-21 00:52:51,882 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: ENABLE, Table Name: default:students, procId: 161 completed
  4. Took 0.6636 seconds
复制代码
(8)drop:删除表格(先要disable表,再删除表
  1. hbase:085:0> disable 'ns1:t1'
  2. 2024-03-21 00:53:34,360 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(926)) - Started disable of ns1:t1
  3. 2024-03-21 00:53:34,727 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DISABLE, Table Name: ns1:t1, procId: 164 completed
  4. Took 0.3910 seconds                                                                           
  5. hbase:086:0> drop 'ns1:t1'
  6. 2024-03-21 00:53:43,300 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DELETE, Table Name: ns1:t1, procId: 167 completed
  7. Took 0.7044 seconds                                                                           
  8. hbase:087:0> list
  9. TABLE                                                                                          
  10. students                                                                                       
  11. 1 row(s)
  12. Took 0.0301 seconds                                                                           
  13. => ["students"]
复制代码
五、DML操作命令

DML包含的操作命令很多,重要用于对数据表中的数据进行操作,重要包罗全表扫描、读取单行数据、写入数据和删除数据等操作。
(1)put:插入数据(put命令,不能一次性插入多条)

往students表格的info列族,增长2条数据:
行键为s001,列限定符name,单元格值Jack;行键为s001,列限定符age,单元格值20;
往students表格的score列族,增长2条数据:
行键为s001,列限定符Chinese,单元格值90;行键为s001,列限定符Math,单元格值85;
  1. hbase:088:0> put 'students','s001','info:name','Jack'
  2. Took 2.2121 seconds
  3. hbase:092:0> put 'students','s001','info:age','20'
  4. Took 0.0543 seconds
  5. hbase:096:0> put 'students','s001','score:Chinese','90'
  6. Took 0.0380 seconds                                                                           
  7. hbase:097:0> put 'students','s001','score:Math','85'
  8. Took 0.0148 seconds
复制代码
修改students表格的单元格值:行键为s001,列限定符name,单元格值'Jack'修改为'Mike'。
  1. hbase:089:0> put 'students','s001','info:name','Mike'
  2. Took 0.2027 seconds
复制代码
(2)get:查询数据
查询students表格,行键为s001的所有数据。
  1. hbase:098:0> get 'students','s001'
  2. COLUMN                   CELL                                                                  
  3. info:age                timestamp=2024-03-21T01:11:05.881, value=20                           
  4. info:name               timestamp=2024-03-21T01:04:05.318, value=Mike                        
  5. score:Chinese           timestamp=2024-03-21T01:16:34.006, value=90                           
  6. score:Math              timestamp=2024-03-21T01:16:48.854, value=85                           
  7. 1 row(s)
  8. Took 0.1583 seconds
复制代码
查询行键为s001,数据列为socre:Chinese的单元格值。
  1. hbase:103:0> get 'students','s001','score:Chinese'
  2. COLUMN                   CELL                                                                  
  3. score:Chinese           timestamp=2024-03-21T01:16:34.006, value=90                           
  4. 1 row(s)
  5. Took 0.0142 seconds
复制代码
查询弟子Mike的多次数学成绩。(确保score列族数学的VERSION版本不止为1)
  1. hbase:108:0> alter 'students',NAME=>'score',VERSIONS=>5
  2. Updating all regions with the new schema...
  3. 1/1 regions updated.
  4. Done.
  5. Took 3.6026 seconds
复制代码
1)写入弟子Mike的多次数学成绩
  1. hbase:100:0> put 'students','s001','score:Math','92'
  2. Took 0.0871 seconds                                                                           
  3. hbase:101:0> put 'students','s001','score:Math','100'
  4. Took 0.0158 seconds
复制代码
2)读取弟子Mike最新的一次数学成绩(get命令默认只读出最新写入的单元格值,时间戳版本最大的单元格值内容)。
  1. hbase:102:0> get 'students','s001','score:Math'
  2. COLUMN                   CELL                                                                  
  3. score:Math              timestamp=2024-03-21T01:23:13.668, value=100                          
  4. 1 row(s)
  5. Took 0.0771 seconds
复制代码
3)查询弟子Mike的3次数学成绩。
  1. hbase:111:0> get 'students','s001',{COLUMN=>'score:Math',VERSIONS=>3}
  2. COLUMN                   CELL                                                                  
  3. score:Math              timestamp=2024-03-21T01:32:55.629, value=85                           
  4. score:Math              timestamp=2024-03-21T01:32:35.808, value=92                           
  5. score:Math              timestamp=2024-03-21T01:23:13.668, value=100                          
  6. 1 row(s)
  7. Took 0.2027 seconds
复制代码
(3)scan:扫描数据(读取所有行的每个列族的所有数据列的最新时间戳版本的单元格值)
1)为了得到更好结果,如今students表中写入多行数据。
  1. hbase:112:0> put 'students','s002','info:name','Tom'                                                                           
  2. hbase:113:0> put 'students','s002','info:age','19'
  3. hbase:114:0> put 'students','s002','score:Chinese','87'                                                                           
  4. hbase:115:0> put 'students','s002','score:Math','70'
  5. hbase:116:0> put 'students','s003','info:name','Lucy'                                                                           
  6. hbase:117:0> put 'students','s003','info:age',18'
  7. hbase:122:0> put 'students','s003','score:Chinese','80'                                                                           
  8. hbase:123:0> put 'students','s003','score:Math','90'
复制代码
2)对数据表students进行全表扫描。
  1. hbase:124:0> scan 'students'
  2. ROW                      COLUMN+CELL                                                           
  3. s001                    column=info:age, timestamp=2024-03-21T01:11:05.881, value=20         
  4. s001                    column=info:name, timestamp=2024-03-21T01:04:05.318, value=Mike      
  5. s001                    column=score:Chines, timestamp=2024-03-21T01:16:34.006, value=90      
  6. s001                    column=score:Math, timestamp=2024-03-21T01:32:55.629, value=85        
  7. s002                    column=info:Chinese, timestamp=2024-03-21T01:43:05.067, value=89      
  8. s002                    column=info:Math, timestamp=2024-03-21T01:43:22.209, value=95         
  9. s002                    column=info:age, timestamp=2024-03-21T01:42:45.619, value=19         
  10. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  11. s003                    column=info:age, timestamp=2024-03-21T01:44:16.318, value=18         
  12. s003                    column=info:name, timestamp=2024-03-21T01:43:45.397, value=Lucy      
  13. s003                    column=score:Chinese, timestamp=2024-03-21T01:45:40.078, value=80      
  14. s003                    column=score:Math, timestamp=2024-03-21T01:45:53.743, value=90        
  15. 3 row(s)
  16. Took 0.2514 seconds
复制代码
3)对数据表students的指定行键范围的数据进行扫描。
  1. #若只指定开始的行键STARTROW,会一直扫描到最后,包含STARTROW和最后一行数据
  2. hbase:135:0> scan 'students',{STARTROW=>'s002'}
  3. ROW                      COLUMN+CELL                                                           
  4. s002                    column=info:age, timestamp=2024-03-21T01:42:45.619, value=19         
  5. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  6. s002                    column=score:Chinese, timestamp=2024-03-21T01:48:44.123, value=87      
  7. s002                    column=score:Math, timestamp=2024-03-21T01:48:59.578, value=70        
  8. s003                    column=info:age, timestamp=2024-03-21T01:44:16.318, value=18         
  9. s003                    column=info:name, timestamp=2024-03-21T01:43:45.397, value=Lucy      
  10. s003                    column=score:Chinese, timestamp=2024-03-21T01:45:40.078, value=80      
  11. s003                    column=score:Math, timestamp=2024-03-21T01:45:53.743, value=90        
  12. 2 row(s)
  13. Took 0.6646 seconds
复制代码
  1. #同时指定STARTROW和STOPROW,行键范围包括STARTROW,但不包含STOPROW的数据
  2. hbase:136:0> scan 'students',{STARTROW=>'s002',STOPROW=>'s003'}
  3. ROW                      COLUMN+CELL                                                           
  4. s002                    column=info:age, timestamp=2024-03-21T01:42:45.619, value=19         
  5. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  6. s002                    column=score:Chinese, timestamp=2024-03-21T01:48:44.123, value=87      
  7. s002                    column=score:Math, timestamp=2024-03-21T01:48:59.578, value=70        
  8. 1 row(s)
  9. Took 0.0566 seconds
复制代码
4)对数据表students的指定列族info进行扫描。
  1. hbase:137:0> scan 'students',{COLUMNS=>['info']}
  2. ROW                      COLUMN+CELL                                                           
  3. s001                    column=info:age, timestamp=2024-03-21T01:11:05.881, value=20         
  4. s001                    column=info:name, timestamp=2024-03-21T01:04:05.318, value=Mike      
  5. s002                    column=info:age, timestamp=2024-03-21T01:42:45.619, value=19         
  6. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  7. s003                    column=info:age, timestamp=2024-03-21T01:44:16.318, value=18         
  8. s003                    column=info:name, timestamp=2024-03-21T01:43:45.397, value=Lucy      
  9. 3 row(s)
  10. Took 0.2538 seconds
复制代码
5)对数据表students的指定列族info下的name数据列进行扫描。
  1. hbase:138:0> scan 'students',{COLUMNS=>['info:name']}
  2. ROW                      COLUMN+CELL                                                           
  3. s001                    column=info:name, timestamp=2024-03-21T01:04:05.318, value=Mike      
  4. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  5. s003                    column=info:name, timestamp=2024-03-21T01:43:45.397, value=Lucy      
  6. 3 row(s)
  7. Took 0.0447 seconds
复制代码
6)对数据表students的前2行数据进行扫描。
  1. hbase:139:0> scan 'students',{LIMIT=>2}
  2. ROW                      COLUMN+CELL                                                           
  3. s001                    column=info:age, timestamp=2024-03-21T01:11:05.881, value=20         
  4. s001                    column=info:name, timestamp=2024-03-21T01:04:05.318, value=Mike      
  5. s001                    column=score:Chinese, timestamp=2024-03-21T01:16:34.006, value=90      
  6. s001                    column=score:Math, timestamp=2024-03-21T01:32:55.629, value=85        
  7. s002                    column=info:age, timestamp=2024-03-21T01:42:45.619, value=19         
  8. s002                    column=info:name, timestamp=2024-03-21T01:42:33.917, value=Tom        
  9. s002                    column=score:Chinese, timestamp=2024-03-21T01:48:44.123, value=87      
  10. s002                    column=score:Math, timestamp=2024-03-21T01:48:59.578, value=70        
  11. 2 row(s)
  12. Took 0.0328 seconds
复制代码
(4)count:统计表行数

  1. hbase:141:0> count 'students'
  2. 3 row(s)
  3. Took 1.1445 seconds                                                                           
  4. => 3
复制代码
(5)delete:删除指定数据列单元格

删除数据表students的指定数据列单元格(删除行键003的列族score下的列限定符Math单元格)。
  1. hbase:143:0> delete 'students','s003','score:Math'
  2. Took 0.0677 seconds                                                                           
  3. hbase:144:0> get 'students','s003'
  4. COLUMN                   CELL                                                                  
  5. info:age                timestamp=2024-03-21T01:44:16.318, value=18                           
  6. info:name               timestamp=2024-03-21T01:43:45.397, value=Lucy                        
  7. score:Chines            timestamp=2024-03-21T01:45:40.078, value=80                           
  8. 1 row(s)
  9. Took 0.1472 seconds
复制代码
(6)deleteall:删除指定数据行
1)删除数据表students的行键为s003的数据。
  1. hbase:145:0> deleteall 'students','s003'
  2. Took 0.1017 seconds                                                                           
  3. hbase:146:0> get 'students','s003'
  4. COLUMN                   CELL                                                                  
  5. 0 row(s)
  6. Took 0.0270 seconds
复制代码
2)删除数据表students的行键为s002,列名为score:chinese的所有数据。
  1. hbase:148:0> deleteall 'students','s002','score:Chinese'
  2. Took 0.0182 seconds                                                                           
  3. hbase:149:0> get 'students','s002'
  4. COLUMN                   CELL                                                                  
  5. info:age                timestamp=2024-03-21T01:42:45.619, value=19                           
  6. info:name               timestamp=2024-03-21T01:42:33.917, value=Tom                          
  7. score:Math              timestamp=2024-03-21T01:48:59.578, value=70                           
  8. 1 row(s)
  9. Took 0.0348 seconds
复制代码
(7)append:给指定列的单元格追加内容
给行键s002,列名info: name的数据列单元格值Tom后面追加son后变成Tomson。
  1. hbase:007:0> append 'students','s002','info:name','son'
  2. CURRENT VALUE = Tomson
  3. Took 0.9325 seconds
  4. hbase:008:0> get 'students','s002'
  5. COLUMN                                         CELL                                                                                                                                 
  6. info:age                                      timestamp=2024-03-21T01:42:45.619, value=19                                                                                          
  7. info:name                                     timestamp=2024-03-21T06:16:33.838, value=Tomson                                                                                      
  8. score:Math                                    timestamp=2024-03-21T01:48:59.578, value=70                                                                                          
  9. 1 row(s)
  10. Took 0.4914 seconds
复制代码
(8)truncate:清空指定数据表的全部数据内容
清空数据表students的内容。
  1. hbase:009:0> truncate 'students'
  2. Truncating 'students' table (it may take a while):
  3. Disabling table...
  4. 2024-03-21 06:17:52,730 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(926)) - Started disable of students
  5. 2024-03-21 06:17:57,843 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: DISABLE, Table Name: default:students, procId: 194 completed
  6. Truncating table...
  7. 2024-03-21 06:17:57,898 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:rpcCall(806)) - Started truncating students
  8. 2024-03-21 06:18:02,439 INFO  [main] client.HBaseAdmin (HBaseAdmin.java:postOperationResult(3591)) - Operation: TRUNCATE, Table Name: default:students, procId: 197 completed
  9. Took 10.4274 seconds                                                                                                                                                               
  10. hbase:010:0> scan 'students'
  11. ROW                                            COLUMN+CELL                                                                                                                          
  12. 0 row(s)
  13. Took 6.5341 seconds
复制代码
六、查询数据时显示中文内容

直接通过设置FORMATTER的属性值为'toString'即可。
  1. hbase:022:0> scan 'major',FORMATTER=>'toString'
  2. ROW                                         COLUMN+CELL                                                                                                                  
  3. row1                                       column=info:college, timestamp=2024-04-08T04:50:16.954, value=信息工程学院                                                         
  4. row1                                       column=info:mname, timestamp=2024-04-08T04:49:59.301, value=大数据技术                                                            
  5. row1                                       column=info:mnum, timestamp=2024-04-08T04:49:29.291, value=m001                                                               
  6. row1                                       column=other:class, timestamp=2024-04-08T04:50:40.604, value=engineer                                                         
  7. row2                                       column=info:college, timestamp=2024-04-08T04:52:15.739, value=信息工程学院                                                         
  8. row2                                       column=info:mname, timestamp=2024-04-08T04:52:10.160, value=网络技术                                                              
  9. row2                                       column=info:mnum, timestamp=2024-04-08T04:52:03.393, value=m002                                                               
  10. row2                                       column=other:class, timestamp=2024-04-08T04:52:23.712, value=engineer                                                         
  11. 2 row(s)
  12. Took 0.0779 seconds                                                                                                                                                      
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表