基本命令
1)打开hbase shell
2)创建表
# create '表名', '列族1', '列族2'
create 'user', 'info', 'data'
3)添加数据
#put '表名', '行键', '列族:key', 'value'
put 'user', 'r001', 'info:name', 'zhangsan' put 'user', 'r001', 'info:gender', 'female' put 'user', 'r001', 'info:age', 20 put 'user', 'r001', 'data:pic', 'picture'
4)查询数据
#get '表名', '行键' 获取user表中row key为r001的所有信息
get 'user', 'r001'
#get '表名', '行键', '列族' 获取user表中row key为r001,info列族的信息
get 'user', 'r001', 'info'
#get '表名', '行键', '列族:key', '列族:key' 获取user表中row key为r001,info列族的name、age列标示符的信息
get 'user', 'r001', 'info:name', 'info:age'
#get '表名', '行键', '列族1','列族2' 获取user表中row key为r001,info、data列族的信息, 两种写法
get 'user','r001', 'info','data'
get 'user','r001', {COLUMN=> ['data','info']}
#获取user表中row key为r001,cell的值为zhangsan的信息
get 'user','r001',{FILTER=> "ValueFilter(=,'binary:zhangsan')"}
#获取user表中row key为r001,列标示符中含有a的信息
get 'user', 'r001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
通过scan 条件查询
# 查询user表中的所有信息
scan 'user'
# 查询user表中列族为info的信息
scan 'user', {COLUMNS => 'info'}
# 查询user表中列族为info和data的信息
scan 'user', {COLUMNS => ['info', 'data']}
# 查询user表中列族为info列为name和列族为data列为pic的信息
scan 'user', {COLUMNS => ['info:name', 'data:pic']}
# 查询user表中列族为info、列标示符为name的信息,并且版本最新的5个
scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}
# 查询user表中列族为info,rk范围是[r001, r003)的数据
scan 'user', {COLUMNS => 'info', STARTROW => 'r001', ENDROW => 'r003'}
# 查询user表中row key以rk字符开头的
scan 'user',{FILTER=>"PrefixFilter('rk')"}
# 查询user表中指定范围的数据 后面是时间戳
scan 'user', {TIMERANGE => [1608023312246, 1608023314231]}
5)更新数据
更新数据与插入操作相同 # 将user表的f1列族版本号改为5 alter 'user', NAME => 'info', VERSIONS => 5
6)删除数据
# 删除user表row key为r001,列标示符为info:name的数据 delete 'user', 'r001', 'info:name'
# 删除user表row key为r001,列标示符为data:pic,timestamp为1608023312246的数据
delete 'user', 'r001', 'data:pic', 1608023312246
#删除一个列族 两种写法
alter 'user', NAME => 'info', METHOD => 'delete'
alter 'user', 'delete' => 'info'
#清空数据表
truncate 'user' scan 'user'
# 首先需要先让该表为disable状态
disable 'user'
# 删除表 删除前必须把表禁用了 ,执行上一命令
drop 'user'