HBASE shell 命令
hbase shell
命令进入 hbase
提供的 shell
工具,help
命令可以查看帮助。
1、查看有哪些表
hbase(main):003:0> list
TABLE
t1
t2
2 row(s) in 0.0270 seconds
=> ["t1", "t2"]
2、创建表
// 表名 stu、列族 info
hbase(main):004:0> create 'stu','info'
0 row(s) in 2.9680 seconds
=> Hbase::Table - stu
3、插入数据
hbase(main):005:0> put 'stu','1001', 'info:sex','male'
0 row(s) in 0.2210 seconds
hbase(main):006:0> put 'stu','1001', 'info:age','18'
0 row(s) in 0.0160 seconds
hbase(main):007:0> put 'stu','1002', 'info:name','rose'
0 row(s) in 0.0140 seconds
hbase(main):008:0> put 'stu','1002', 'info:sex','female'
0 row(s) in 0.0290 seconds
hbase(main):010:0> put 'stu','1002', 'info:age','20'
0 row(s) in 0.0330 seconds
4、扫描全表
hbase(main):011:0> scan 'stu'
ROW COLUMN+CELL
1001 column=info:age, timestamp=1629019958591, value=18
1001 column=info:sex, timestamp=1629019940108, value=male
1002 column=info:age, timestamp=1629020030843, value=20
1002 column=info:name, timestamp=1629019986506, value=rose
1002 column=info:sex, timestamp=1629020009789, value=female
2 row(s) in 0.1030 seconds
5、查看表结构
hbase(main):012:0> describe 'stu'
Table stu is ENABLED
stu
COLUMN FAMILIES DESCRIPTION
{NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BL
OCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZ
E => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.1080 seconds
6、更新表数据
hbase(main):013:0> put 'stu', '1001','info:name','lila'
0 row(s) in 0.0270 seconds
hbase(main):014:0> put 'stu', '1001','info:age','19'
0 row(s) in 0.0150 seconds
hbase(main):015:0> scan 'stu'
ROW COLUMN+CELL
1001 column=info:age, timestamp=1629020165125, value=19
1001 column=info:name, timestamp=1629020154142, value=lila
1001 column=info:sex, timestamp=1629019940108, value=male
1002 column=info:age, timestamp=1629020030843, value=20
1002 column=info:name, timestamp=1629019986506, value=rose
1002 column=info:sex, timestamp=1629020009789, value=female\x0A
2 row(s) in 0.1020 seconds
7、查看指定行或列
hbase(main):016:0> get 'stu','1001'
COLUMN CELL
info:age timestamp=1629020165125, value=19
info:name timestamp=1629020154142, value=lila
info:sex timestamp=1629019940108, value=male
3 row(s) in 0.1370 seconds
hbase(main):017:0> get 'stu','1001','info:name'
COLUMN CELL
info:name timestamp=1629020154142, value=lila
1 row(s) in 0.0330 seconds
8、统计行数
hbase(main):018:0> count 'stu'
2 row(s) in 0.0710 seconds
=> 2
9、删除数据
// 删除某一行
hbase(main):020:0> deleteall 'stu','1001'
0 row(s) in 0.0460 seconds
hbase(main):021:0> scan 'stu'
ROW COLUMN+CELL
1002 column=info:age, timestamp=1629020030843, value=20
1002 column=info:name, timestamp=1629019986506, value=rose
1002 column=info:sex, timestamp=1629020009789, value=female\x0A
1 row(s) in 0.0480 seconds
// 删除某一列
hbase(main):022:0> delete 'stu','1002','info:sex'
0 row(s) in 0.0430 seconds
hbase(main):023:0> scan 'stu'
ROW COLUMN+CELL
1002 column=info:age, timestamp=1629020030843, value=20
1002 column=info:name, timestamp=1629019986506, value=rose
1 row(s) in 0.0380 seconds
10、其他命令
// 清空表数据,需要先 disable 表
truncate 'stu'
// 删除表,需要先 disable 表
disable 'stu'
drop 'stu'
// 表更表信息,将 info 列族中的数据存放 3 个版本
hbase(main):024:0> alter 'stu', {NAME=>'info',VERSION=>3}
Unknown argument ignored for column family info: 1.8.7
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 3.2270 seconds
hbase(main):025:0> get 'stu','1002',{COLUMN=>'info:name',VERSION=>3}
COLUMN CELL
info:name timestamp=1629019986506, value=rose
1 row(s) in 0.0470 seconds