hbase的简单操作

基本命令

  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'

 

posted @ 2020-12-16 10:12  辉哥哥~  阅读(183)  评论(0编辑  收藏  举报