lihui123

基本命令

  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\'

 

分类:

技术点:

相关文章: