HBase Shell操作
说明:以下说明只是帮助了解使用,更具体的操作到hbase shell中,根据提示信息使用
启动指令
集群启动:
[atguigu@hadoop102 hbase]$ bin/start-hbase.sh
集群停止:
[atguigu@hadoop102 hbase]$ bin/stop-hbase.sh
基础操作
1)进入HBase客户端命令行
[atguigu@hadoop102 hbase]$ bin/hbase shell
2)查看帮助命令
hbase(main):001:0> help
NS
Group name: namespace
Commands:
alter_namespace,
create_namespace, // create_namespace 'ns1'
describe_namespace, //
drop_namespace,
list_namespace,
ist_namespace_tables // ist_namespace_tables 'ns1' => ['t1','t2']查看ns的所有表
DDL
Group name: ddl
Commands:
alter,// alter 't2',{NAME=>'f1',VERSIONS=>'1'} 说明:修改表t2的f1列簇历史版本最多1条
alter_async,
alter_status,
create,// create 'ns1:t1','f1','f2' 说明:f1、f2为列簇
// create 't2',{NAME=>'f1',VERSIONS=>'3'} 说明:在default命名空间内创建表t2,并指定t2的列簇f1的历史版本数为3
// create 'ns1:t1','f1','f2',SPLITS=>['10','20','30']创建有4个region的表
describe, // describe 'ns1:t1' 说明:查看表信息,可以看到有几个version
disable, // disable 't1' 说明:禁用,禁用后不能查了,而且表必须禁用后才能drop掉
disable_all,
drop, // drop 'ns1:t1' 必须先disable 表
// drop 'ns1' 必须先drop 表
drop_all, ’
enable,
enable_all,
exists,
get_table,
is_disabled,
is_enabled,
list, // 查看所有库的所有表
list_regions,
locate_region,
show_filters
DML
Group name: dml
Commands:
append,
count, // count 't1' 说明:统计表的行数
delete, // delete 'ns1:t1','r1','f1:q1' 说明:1、只能删除一个CELL,就是语句不能没有q1。2、如果不指定时间戳,默认删最新的
// delete 'ns1:t1','r1','f1:q1',1620820135122 说明:删除
deleteall, // delete 'ns1:t1','r1' 说明:删除一整行,也可以删除一个cell,不能删除整个 列簇f1
get, 必须根据主键查询,不会全表扫描,效率更高
// get 'ns1:t1','r1','f1:q1' 获取rowkey的'r1'的数据,f1簇的q1字段
// 除了要有主键,其他和scan差不多
get_counter,
get_splits,
incr,
put, // 说明:用于插入数据,也可以用于更新数据(覆盖version)==ns1:库名,t2:表名,r1:rowkey,c1:列簇,value:cell值==
put 'ns1:t1','r1','c1','value' 说明:'r1'为rowkey,'c1'为列,格式:'列簇:列名','value'为cell值。
scan, 说明:可以全表扫描
// scan 'ns1:t1'
// scan 'ns1:t1',{VERSIONS=>2} 查看t1的前两个历史版本数据
// scan 'ns1:t1',{COLUMNS=>['f1:q1','f2:q2']} 查询指定列簇的指定列限定符
// scan 'ns1:t1',{COLUMNS=>['f1']} 查询整个列簇
// scan 'ns1:t1',{COLUMNS=>['f1'],VERSIONS=>2,TIMERANGE=>[1233123131,5743746466]}
// scan 'ns1:t1',{STARTROW=>'1',STOPROW=>'2'}根据rowkey,过滤出字典排序在1和2之间的数据,左开右闭
truncate, // trunate 't1' 说明:清空表
truncate_preserve
手动compact
major_compact 't1'
minor_compact 't1'