HBase的Shell常用的操作命令

上海杰普软件科技有限公司(分享Hbase学习笔记)

#创建命名空间

create_namespace 'test1'
#展示所有命名空间
list_namespace
#删除命名空间,The namespace must be empty.
drop_namespace 'test1'
#创建一张表,指定版本号为3
create 'hbase_test:teacher',{NAME=>'baseinfo',VERSIONS=>3},{NAME=>'extrainfo',VERSIONS=>5}
create 'test1:student1',{NAME=>'baseinfo',VERSIONS=>3},{NAME=>'extrainfo',VERSIONS => 3}
#创建表,预定义分区,在rowkey为0<= <10  10<= 20 20<= 30
create 'hbase_test:teacher2', {NAME=>'baseinfo',VERSIONS=>3}, SPLITS => ['10', '20', '30', '40']
put 'hbase_test:teacher3','2000009','baseinfo:name','zhangsan'
#创建表,分区标准在文件中,如果rowkey以0001等开头,进行分区使用| 或者 ~ 帮助划分rowkey区域
create 'hbase_test:teacher3', 'baseinfo', {SPLITS_FILE => 'split1.txt'}
#使用HexStringSplit算法进行分区,分成10个region,适合散列字符不包含中文
create 'hbase_test:teacher4', 'baseinfo', {NUMREGIONS => 10, SPLITALGO => 'HexStringSplit'}
#使用UniformSplit算法进行分区,rowkey可以包含中文
create 'hbase_test:teacher5', 'baseinfo', {NUMREGIONS => 5, SPLITALGO => 'UniformSplit'}
#create 返回引用值
t1 = create 't1', 'f1'

#修改表结构增加列族

alter 'test1:student5', {NAME => 'extrainfo', IN_MEMORY => true}, {NAME => 'secret', VERSIONS => 5}
#修改表结构删除列族
alter 'hbase_test:teacher5', { NAME => 'baseinfo', METHOD => 'delete'}

#插入数据

put 't','r','cf:q','v','t'
put 'test1:student5','100000000','baseinfo:name','zhao'
#插入指定timestamp
put 'hbase_test:teacher5','100000000','extrainfo:salary','5000',1488888888888
put 'hbase_test:teacher2','10001','baseinfo:name','briup'
put 'hbase_test:teacher2','20001','baseinfo:name','qian'
put 'hbase_test:teacher2','30001','baseinfo:name','sun'

#获得某一个特定值

get 'hbase_test:teacher2','10001','baseinfo:name'

#获得前5个版本的数据

get 'hbase_test:teacher2','10001',{COLUMN=>'baseinfo:name',VERSIONS=>5}

#获得某个时间段数据,不一定是时间最新的数据

get 'hbase_test:teacher2', '10001', {TIMERANGE => [1479371084728, 1479373228331]}

#scan 扫描某张表

scan 'test1:student5'

#scan 扫描 表中某一列

scan 'test1:student5',{COLUMNS=>'baseinfo:name'}

#scan 使用limit 进行行数限制

scan 'test1:student5',{COLUMNS=>'baseinfo:name',LIMIT=>2}

#scan 指定从某一行开始扫描

scan 'hbase_test:teacher2',{COLUMNS=>'baseinfo:name',LIMIT=>2,STARTROW=>'20001'}

#scan 扫描所有版本

scan 'hbase_test:teacher2',{VERSIONS=>5}

#scan 超出版本限制也能访问到

scan 'hbase_test:teacher2',{VERSIONS=>5,RAW=>true}

#scan 使用过滤器 行健前缀过滤器,只有这一个有属性

scan 'hbase_test:teacher2', {ROWPREFIXFILTER => '10'}

#scan 使用空值行健过滤器,只返回行健

scan 'hbase_test:teacher2',{FILTER=>'KeyOnlyFilter()'}

#scan 使用行健过滤器,binary: 帮助数据类型转化

scan 'hbase_test:teacher2',{FILTER =>"RowFilter (!=,'binary:10001')"}

#scan 使用列名过滤器

scan 'test1:student5',{FILTER =>"QualifierFilter (>=,'binary:baseinfo:name')"}

#scan 使用子串过滤器

scan 'test1:student5',{FILTER =>"ValueFilter (=,'binary:zhao')"}

#列名前缀过滤器

scan 'test1:student5',{FILTER =>"ColumnPrefixFilter ('name')"}

#scan 使用多种过滤器进行条件结合

scan 'hbase_test:teacher2',{FILTER =>"(ValueFilter (=,'binary:hello')) OR (RowFilter (>,'binary:10'))"}

#scan 使用page过滤器,限制每页展示数量

scan 'hbase_test:teacher2',{FILTER =>org.apache.hadoop.hbase.filter.PageFilter.new(2)}

#disable 某张表

disable 'test1:student5'

#删除某张表

drop 'hbase_test:teacher2'

#大合并 hfile

major_compact 'hbase_test:teacher2'
小合并
#移动region move 'ENCODED_REGIONNAME', 'SERVER_NAME'
#第一个参数指的是region最后一部分编号(逗号分隔每部分)
move 'a39dc69bd00d19e556ae17e4aeb1ebe1','datanode02,16020,1479354142616'
a39dc69bd00d19e556ae17e4aeb1ebe1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值