基本命令
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\'