HBase常用操作
建表
create 'Wordcount','result'
create 't1',{NAME => 'f1', VERSIONS => 2},{NAME => 'f2', VERSIONS => 2}
查看表结构
describe 'Wordcount'
查看所有数据
scan 'Wordcount',{LIMIT=>10}
删除指定rowkey
deleteall 'Wordcount','hello'
删除所有数据
truncate 'Wordcount'
删除表
disable 'Wordcount'
drop 'Wordcount'
加入数据
put 'Wordcount','test','result:count','2'
获取数据
get 'Wordcount','hello','result:count'
get 'Wordcount','hello'获取hello下所有的数据
删除数据
delete 'Wordcount','hello','result:count'
查看表中的记录总数
count 'table_name'
修改压缩算法
disable 'table'
alter 'table',{NAME=>'info',COMPRESSION=>'snappy'}
enable 'table'
删除列族
disable 'table'
alter 'table',{NAME=>'info',METHOD=>'delete'}
enable 'table'
disable_all 和drop_all支持正则表达式,并列出当前匹配的表
disable_all 'toplist.*'
……
并给出确认提示
Disable the above 25 tables (y/n)?
分配权限
权限用五个字母表示: “RWXCA”.
READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)
grant <user> <permissions> <table> <column family> <column qualifier> 参数间用逗号分隔
grant 'test','RW','t1'
查看权限
user_permission 't1'
收回权限
revoke 'test','t1'
移动region
encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表
move 'encodeRegionName', 'ServerName'
开启/关闭region
balance_switch true|false
手动split
split 'regionName', 'splitKey'
手动触发major compaction
Compact all regions in a table:
hbase> major_compact 't1'
Compact an entire region:
hbase> major_compact 'r1'
Compact a single column family within a region:
hbase> major_compact 'r1', 'c1'
Compact a single column family within a table:
hbase> major_compact 't1', 'c1'
关于compaction
作用:
- 合并文件
- 清除删除、过期、多余版本的数据
- 提高读写数据的效率
Minor Compaction
做部分文件的合并操作,将几个较小的相邻StoreFiles重写为一个,会做minVersion=0并且设置ttl的过期版本清理,不做任何删除数据、多版本数据的清理工作(major可以)
Major Compaction
将Region下的HStore下的所有StoreFile合并,Major Compaction之后每个HStore只有一个File