HBase Shell 基本操作

启动HBase Shell,运行

hbase shell

在这里插入图片描述
如果启动hbase shell的前提条件是打开基于高可用平台下的,所以要打开所有可以打开的东西。比如zookeeper namenode,之类的。
1.一般操作
1)查询服务器状态

Status

在这里插入图片描述

(2)查询Hbase版本

    Version

在这里插入图片描述

(3)查看所有表

List

在这里插入图片描述
2.增删改
(1)创建一个表

create’member001’,’member_id’,’address’,’info’

在这里插入图片描述

(2)获得表的描述

describe 'member001'

在这里插入图片描述

(3)添加一个列族

alter 'member001', 'id'

在这里插入图片描述

(4)添加数据
在HBase shell中,我们可以通过put命令来插入数据。列簇下的列不需要提前创建,在需要时通过:来指定即可。添加数据如下:

put 'member001', 'debugo','id','11'
put 'member001', 'debugo','info:age','27'
put 'member001', 'debugo','info:birthday','1991-04-04'
put 'member001', 'debugo','info:industry', 'it'
put 'member001', 'debugo','address:city','Shanghai'
put 'member001', 'debugo','address:country','China'
put 'member001', 'Sariel', 'id', '21'
put 'member001', 'Sariel','info:age', '26'
put 'member001', 'Sariel','info:birthday', '1992-05-09'
put 'member001', 'Sariel','info:industry', 'it'
put 'member001', 'Sariel','address:city', 'Beijing'
put 'member001', 'Sariel','address:country', 'China'
put 'member001', 'Elvis', 'id', '22'
put 'member001', 'Elvis','info:age', '26'
put 'member001', 'Elvis','info:birthday', '1992-09-14'
put 'member001', 'Elvis','info:industry', 'it'
put 'member001', 'Elvis','address:city', 'Beijing'
put 'member001', 'Elvis','address:country', 'china'

在这里插入图片描述
在这里插入图片描述

(5)查看表数据

scan 'member001'

在这里插入图片描述
在这里插入图片描述

(6)删除一个列族

alter 'member001', {NAME => 'member_id', METHOD => 'delete’}

在这里插入图片描述

(7)删除列
a)通过delete命令,我们可以删除id为某个值的‘info:age’字段,接下来的get就无值了:

delete 'member001','debugo','info:age'

在这里插入图片描述

get 'member001','debugo','info:age'

在这里插入图片描述

b)删除整行的值,用deleteall命令:

deleteall 'member001','debugo'

在这里插入图片描述

get 'member001','debugo'

在这里插入图片描述

(8)通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled来检查表是否被禁用

is_enabled 'member001'

在这里插入图片描述

is_disabled 'member001'

在这里插入图片描述

(9)使用exists来检查表是否存在

exists 'member001'

在这里插入图片描述

(10)删除表需要先将表disable。

disable 'member001'

在这里插入图片描述

drop 'member001'

在这里插入图片描述
3、查询
(1)查询表中有多少行,用count命令:

count 'member001’

在这里插入图片描述

(2)get
a)获取一个id的所有数据:

get 'member001', 'Sariel'

在这里插入图片描述

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

get 'member001', 'Sariel', 'info'

在这里插入图片描述

(3)查询整表数据

scan 'member001'

在这里插入图片描述
在这里插入图片描述

(4)扫描整个列簇

scan 'member001', {COLUMN=>'info'}

在这里插入图片描述

(5)指定扫描其中的某个列

scan ‘member001’,{COLUMNS=> ‘info:birthday’}

在这里插入图片描述

(6)除了列(COLUMNS)修饰词外,HBase还支持Limit(限制查询结果行数),STARTROW(ROWKEY起始行。会先根据这个key定位到region,再向后扫描)、STOPROW(结束行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和FILTER(按条件过滤行)等。比如我们从Sariel这个rowkey开始,找下一个行的最新版本:

scan 'member001', { STARTROW => 'Sariel', LIMIT=>1, VERSIONS=>1}

在这里插入图片描述

(7)Filter是一个非常强大的修饰词,可以设定一系列条件来进行过滤。比如我们要限制某个列的值等于26。

scan 'member001', FILTER=>"ValueFilter(=,'binary:26')"

在这里插入图片描述

值包含6这个值:

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

在这里插入图片描述

列名中的前缀为birth的:

scan 'member001', FILTER=>"ColumnPrefixFilter('birth') "

在这里插入图片描述

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

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

在这里插入图片描述

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

scan 'member001', FILTER=>"PrefixFilter('E')"

在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值