`

Hbase shell

 
阅读更多

 

交互式命令:

echo list | hbase shell

 

 

 

下面列出了几个常用的HBase Shell命令:

名称

命令表达式

创建表

create '表名称', '列名称1','列名称2','列名称N'

添加记录      

put '表名称', '行名称', '列名称:', '值'

查看记录

get '表名称', '行名称'

查看表中的记录总数

count  '表名称'

删除记录

delete  '表名' ,'行名称' , '列名称'

删除一张表

先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'

查看所有记录

scan "表名称"  

查看某个表某个列中所有数据

scan "表名称" , ['列名称:']

更新记录 

就是重写一遍进行覆盖

 

查看帮助: 'help "COMMAND"'

例如:

hbase(main):159:0> deleteall help

 

    查询服务器状态 

hbase(main):047:0> status
3 servers, 0 dead, 1.3333 average load
查询表是否存在
hbase(main):081:0> exists 'dd'
Table dd does not exist
0 row(s) in 0.0130 seconds

hbase(main):082:0> exists 'cstor:test01'
Table cstor:test01 does exist
0 row(s) in 0.0150 seconds
判断表是否enable 
hbase(main):084:0> is_enabled 'cstor:test01'
true 
判断表是否disabled
hbase(main):085:0> is_disabled 'cstor:test01'
false 

 

   表操作:

创建表空间 

hbase(main):014:0> create_namespace 'cstor'

 在表空间cstor下,创建一张表 ,列族为f

hbase(main):018:0> create 'cstor:test01', 'f'
建表预分区
create 'wf:region_test','f', {NUMREGIONS => 40, SPLITALGO => 'HexStringSplit'}
 关闭BloomFilter
create 'wf:bm_none_02',{NAME => 'f',  BLOOMFILTER => 'NONE'},{NUMREGIONS => 20, SPLITALGO => 'HexStringSplit'}
 
查看HBase表描述 
hbase(main):080:0* desc 'cstor:test01'
Table cstor:test01 is ENABLED
cstor:test01
COLUMN FAMILIES DESCRIPTION
{NAME => 'f', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE
=> 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}

插入一条数据

hbase(main):027:0*> put 'cstor:test01','user','f:name','zhangsan'
hbase(main):032:0> put 'cstor:test01','user','f:age','20'

 

 

统计rowkey count:

count  'razor:arbitrary_dimensionality', {INTERVAL => 100, CACHE => 100}

 

HBase 过滤器操作:

查看过滤器:

show_filters

 

行过滤:

scan 'razor:arbitrary_dimensionality',{FILTER => "(RowFilter(=,'substring:cellid'))", CACHE => 100}
RowFilter filter = new RowFilter(CompareOp.EQUAL, new SubstringComparator("substring"));

列修饰符过滤:

scan 'razor:arbitrary_dimensionality', {COLUMNS => ['f:info']}
scan 'razor:arbitrary_dimensionality', {COLUMNS => ['f:info', 'f:data'], FILTER => "(QualifierFilter(=,'substring:a'))"}

列值过滤单列查询:

import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.util.Bytes
scan 'razor:error',{COLUMNS => 'f:version', FILTER => SingleColumnValueFilter.new(
Bytes.toBytes('f'),
Bytes.toBytes('version'),
CompareFilter::CompareOp.valueOf('EQUAL'),
Bytes.toBytes('1.0'))}

 列值过滤多列查询:

scan 'razor:error',{COLUMNS => ['f:version','f:productid'], FILTER => SingleColumnValueFilter.new(Bytes.toBytes('f'),Bytes.toBytes('version'),CompareFilter::CompareOp.valueOf('EQUAL'),Bytes.toBytes('1.0'))}

 

参考:

HBase 常用Shell命令

hbase行键过滤器RowFilter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics