hbase基本操作指令

Hbase常用指令

1. HBase shell中的帮助命令非常强大,使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息。 例如:
help 'list'
2. 查询服务器状态
status
3. 查询Hbase版本:
version
4. 查看所有表
list

增删改

  1. 创建一个表
    格式:
create '表名','行名','列族:列名','列簇:列名'

例如:

create 'member','member_id','address','info' 
  1. 获得表的描述
describe 'member'
  1. 添加一个列族
alter 'member', 'id'
  1. 删除一个列族
alter 'member', {NAME => 'member_id', METHOD => 'delete’}
  1. 删除列

(1). 通过delete命令,我们可以删除id为某个值的‘info:age’字段

delete 'member','debugo','info:age'

(2). 删除整行的值:deleteall

deleteall 'member','debugo'
  1. 通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled来检查表是否被禁用。
enabled 'member'
disabled 'member'
is_enabled 'member'
is_disabled 'member'
  1. 使用exists来检查表是否存在
exists 'member'
  1. 删除表需要先将表disable
disable 'member'
drop 'member'
  1. 通过put命令来插入数据
create 'member','id','address','info'
# 数据
put 'member', 'debugo','id','11'
put 'member', 'debugo','info:age','27'
put 'member', 'debugo','info:birthday','1987-04-04'
put 'member', 'debugo','info:industry', 'it'
put 'member', 'debugo','address:city','beijing'
put 'member', 'debugo','address:country','china'
put 'member', 'Sariel', 'id', '21'
put 'member', 'Sariel','info:age', '26'
put 'member', 'Sariel','info:birthday', '1988-05-09 '
put 'member', 'Sariel','info:industry', 'it'
put 'member', 'Sariel','address:city', 'beijing'
put 'member', 'Sariel','address:country', 'china'
put 'member', 'Elvis', 'id', '22'
put 'member', 'Elvis','info:age', '26'
put 'member', 'Elvis','info:birthday', '1988-09-14 '
put 'member', 'Elvis','info:industry', 'it'
put 'member', 'Elvis','address:city', 'beijing'
put 'member', 'Elvis','address:country', 'china'

查询

  1. 查询表中有多少行
count
  1. get
    (1)获取一个id的所有数据
get 'member', 'xiao'

(2)获得一个id,一个列簇(一个列)中的所有数据

get 'member', 'xiao', 'info'
  1. 查询整表数据
scan 'member'
  1. 扫描整个列簇
scan 'member', {COLUMN=>'info'}
  1. 指定扫描其中的某个列
scan 'member', {COLUMNS=> 'info:birthday'}
  1. 除了列(COLUMNS)修饰词外,HBase还支持Limit(限制查询结果行数),STARTROW(ROWKEY起始行。会先根据这个key定位到region,再向后扫描)、STOPROW(结束行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和FILTER(按条件过滤行)等。比如我们从Sariel这个rowkey开始,找下一个行的最新版本
scan 'member', { STARTROW => 'Sariel', LIMIT=>1, VERSIONS=>1}
  1. Filter是一个非常强大的修饰词,可以设定一系列条件来进行过滤。

要限制某个列的值等于6

scan 'member', FILTER=>"ValueFilter(=,'binary:6')"

值包含6这个值

scan 'member', FILTER=>"ValueFilter(=,'substring:6')"

列名中的前缀为sex的

scan 'member', FILTER=>"ColumnPrefixFilter('sex') "

FILTER中支持多个过滤条件通过括号、AND和OR的条件组合

scan 'member', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter ValueFilter(=,'substring:1988')"

对Rowkey的前缀进行判断,这是一个非常常用的功能

scan 'member', FILTER=>"PrefixFilter('E')"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值