HBase Shell常用操作命令
1.查看命名空间如何使用
help 'namespace'
2.查看当前有哪些命名空间
list_namespace
3.创建一个命名空间
create_namespace 'ns1711'
4.创建表
create 'ns1711:t1','cf_info','cf_other'
5.添加数据
put 'ns1711:t1','rowkey01','cf_info:name','xiaowang'
6.查看所有表
list
7.浏览数据
scan 'ns1711:t1'
scan 't1',{
LIMIT=>5}
8.查看指定列族和设置过滤器
scan 'ns1711:t1', {
COLUMNS => ['cf_info','cf_other']}
scan 'ns1711:t1', {
COLUMNS => 'cf_info:name'}
scan 'su_ott_terminal_overall_test',{
FILTER=>"ValueFilter(=,'binary:103010202$100.00')"}
scan 'su_ott_terminal_overall_test', {
COLUMNS => ['taginfo:oc_len','taginfo:oc_alive','taginfo:oc_hour_0'], FILTER => "(SingleColumnValueFilter('taginfo', 'oc_len', =, 'binary:103010103$100.0')) AND (SingleColumnValueFilter('taginfo', 'oc_alive', =, 'binary:103010202$100.0'))" }
scan 'hbase_contract', FILTER=>"ColumnPrefixFilter('executed_dt') AND ValueFilter(=,'substring:2021-05-03')"
9.查看单条数据
get 'ns1711:t1','rowkey02'
get 'ns1711:t1','rowkey01',{
COLUMN =>'cf_info'}
get 'ns1711:t1','rowkey02',{
COLUMN => ['cf_info', 'cf_other']}
get 'ns1711:t1','rowkey01',{
COLUMN => ['cf_info:name', 'cf_other:address']}
10.删除数据
delete 'ns1711:t1', 'rowkey01', 'cf_info:name'
11.删除表
disable 'ns1711:t1'
drop 'ns1711:t1'
12.查看表明细
desc 'su_ott_terminal_overall_test'
13.查询表中的数据行数
语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
例如,查询表t1中的行数,每100条显示一次,缓存区为500
hbase(main)> count 't1', {
INTERVAL => 100, CACHE => 500}
14.创建Hbase预分区表
create 'su_ott_terminal_overall_test','taginfo', {
SPLITS_FILE => 'region_split_lower_info.txt'}
15.克隆表
创建表H_DSE_TRACE的快照
snapshot 'H_DSE_TRACE' , 'SNAPSHOT_H_DSE_TRACE'
从快照克隆出一张新的表H_DSE_TRACE_2
clone_snapshot 'SNAPSHOT_H_DSE_TRACE','H_DSE_TRACE_2'
16.查看元数据
scan 'hbase:meta'
17.修复region元数据
hbase org.apache.hbase.HBCK2 assigns -o 1588230740
18.手动触发大合并
major_compact ‘hbase:meta’
19.hbase授权
grant 'worker', 'RW', 'dw:dm_cstm_gaotu_xxxxx_test'
权限用五个字母表示: “RWXCA”. READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’),
ADMIN(‘A’)
20.查看当前用户
whoami
21.查看表权限
user_permission tab_name
22.收回权限
revoke 'test','t1'
23.删除行
deleteall 't1','rowkey001'
24.移动region
语法:move ‘encodeRegionName’, ‘ServerName’
encodeRegionName指的regioName后面的编码,ServerName指的是master-status的RegionServers列表,例如:
hbase(main)>move '4343995a58be8e5bbc739af1e91cd72d', 'db-41.xxx.xxx.org,60020,1390274516739'
25.开启/关闭region
语法:balance_switch true|false
hbase(main)> balance_switch