hbase命令
1.创建表:create 'tablename','cloumnfamily1','columnfamily2'
2.表描述:describe 'tablename'
3.删除列族:
(1)disable‘tablename’
(2)alter'tablename',NAME=>'cloumnfamily2',METHOD=>‘delete’
(3)enable'tablename'
4.删除表:
(1)disable'tablename'
(2)drop'tablename'
5.查询表是否存在:exists'tablename'
6.插入数据:put 'tabname','RK1','cloumnfamily1:cloumn','value'
7.获取一个RK的所有数据:get'tabname','RK1'
8.获取一个RK下列族的所有数据:get'tabname','RK1','cloumnfamaily'
9.更新一条记录(修改):put 'tabname','RK1','列族:列','值变成x'
10.删除RK为RK1的列族:列的字段:delete 'tabname','RK1 ',' y:z'
11.删除RK为RK1的所有数据:deleteall 'tabname','RK1'
12.查询表的行数:count 'tablename'
13.给RK为RK1增加已有列族下面的列:incr 'tabname','RK1','info:age'
14.查询rowkey有二进制的把二进制的部分转为可读的再查询出前10条。
scan 'tablename' , {LIMIT => 10 , STARTROW => 'rowkey+' + Bytes.toString("\x00\x00\x00\x03\x00\x00\x00\x04\xF0\xD1<\xC0AAAA".to_java_bytes)}
15.查看表的用户权限
user_permission'talename'
16.赋予用户表的权限
grant'user','CRW','table'
17.收回用户权限
revoke'user','table1'
18.赋予用户namespace的权限
grant'user','CRW','@namespace'
19.获取对应数据的版本
get 't1','rowkey001',{COLUMN=>'f1:col1',VERSIONS=>3}
20.匹配rowkey中部分内容
如20170515AAAAS201505150000的行健,若想匹配行健中包含AS的数据,查询指令为:
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.filter.RowFilter
scan 'TABLENAME', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('AS'))}
若想匹配多个AND条件时候只需要在查询相中增加相应的&&即可;OR条件可以使用 || 连接;