1. 查看HBase中存在的所有表
list:
hbase(main)> list
2. 创建新的表
create:
// 使用create命令来创建一个新的表。在创建的时候,必须指定表名和列族名(HBase中的表至少有一个列族)
// create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
hbase(main)> create 'test',{NAME => 'f1', VERSIONS => 2},{NAME => 'f2', VERSIONS => 2}
3. 查看表结构
describe:
hbase(main)> describe 'test'
4. 修改表结构
alter:
// 修改表结构必须先disable
// alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
hbase(main)> disable 'test'
hbase(main)> alter 'test',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
hbase(main)> enable 'test'
5. 向表中添加数据
put:
// put <table>,<rowkey>,<family:column>,<value>,<timestamp>
// 例如:给表test的添加一行记录:rowkey是rowkey,family name:f1,column name:col1,value:value01,timestamp:系统默认
hbase(main)> put 'test','rowkey','f1:col1','value01'
6. 查询表中数据
get:
// get <table>,<rowkey>,[<family:column>,....]
// 查询表test,rowkey中的f1下的col1的值
hbase(main)> get 'test','rowkey', 'f1:col1'
7. 扫描表
scan:
// scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
// 可以添加STARTROW、TIMERANGE和FITLER等高级功能
// 扫描表test的前5条数据
hbase(main)> scan 'test',{LIMIT=>5}
8. 查询表中的数据行数
count:
// count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
// INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
// 查询表test中的行数,每100条显示一次,缓存区为500
hbase(main)> count 'test', {INTERVAL => 100, CACHE => 500}
9. 删除数据
delete / deleteall / truncate:
// 删除行中的某个列值
// delete <table>, <rowkey>, <family:column> , <timestamp>,必须指定列名
// 删除表test,rowkey中的f1:fff的数据
hbase(main)> delete 'test','rowkey','f1:fff'
// 删除行
// deleteall <table>, <rowkey>, <family:column> , <timestamp>,可以不指定列名,删除整行数据
// 删除表test,rowkey的数据
hbase(main)> deleteall 'test','rowkey'
// 删除表中的所有数据
// truncate <table>
// 删除表test的所有数据
hbase(main)> truncate 'test'
10. 分配权限
grant:
// 语法 : grant <user> <permissions> <table> <column family> <column qualifier> 参数后面用逗号分隔
// 权限用五个字母表示: "RWXCA".
// READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
// 给用户‘test'分配对表t1有读写的权限
hbase(main)> grant 'test','RW','t1'
12. 查看权限
user_permission:
// user_permission <table>
hbase(main)> user_permission 'test'
13. 收回权限
revoke:
// revoke <user> <table> <column family> <column qualifier>
// 收回test用户在表t上的权限
hbase(main)> revoke 'test','t'