一、HBASE shell 命令操作;
1.建表: create ‘tableName’,'f1','f2'; 注:列簇,裂限定符都要尽量短;
2.插入数据: put 'tableName','RowKey','f1:c1','value1'
3.查询数据:整表:scan 'tableName';
单条: /* 读取列族数据 */
get ‘table_name’, ‘row_key’, ‘cf’
/* 读取列数据 */
get ‘table_name’, ‘row_key’, ‘cf:cq’
4.更新数据:put 'tableName', 'RowKey', 'f1:c1', 'update value';
5.删除数据:单元格:delete 'tableName', 'RowKey', 'f1:c1';
整行: deleteall 'tableName', 'RowKey';
二、HBASE SQL操作:
1.建表:bank_info
CREATE TABLE bank_info(
acc_num STRING,
name STRING,
password STRING,
email STRING,
cellphone STRING,
balance DOUBLE
)STORED AS HYPERDRIVE;
2.插入一条数据;
insert into table bank_info values("0001", "Zhang San", "5678", "zs@mail.com", "12345678912", "10000.0");
3.查询数据:select * from bank_info;
4.删除表:drop table bank_info;
三、HBase安全
1.scan指令查看一张实际的hbase:acl中的内容(注意,只有有全局权限的用户才看以看到hbase:acl中的内容)
指令:scan 'hbase:acl'
2.授予alice用户RW权限:
指令:grant 'alice','RW'
3.授予用户组写权限:
grant '@groupx','W'
4.授予用户对命名空间的权限:
grant 'alice','R','@ns1'
5.授予用户组groupx对命名空间ns1的C权限
grant '@groupx','C','@ns1'
6.授予用户alice对表bi的R权限
grant 'alice','R','bi'
7. 授予用户alice对命名空间ns1中的表tb1的WC权限
grant 'alice','WC','ns1:tb1'
8. 授予用户组groupx对表bi的R权限
grant '@groupx','R','bi'
9. 授予用户alice对表t4中列族f1的R权限
grant 'alice', 'R', 't4', 'f1'
10. 授予用户alice对表t4中f2:q1列的R权限
grant 'alice', 'R', 't4', 'f2', 'q1'
11.查看权限;user_permission 't4'
12. 收回用户alice对表t4的所有权限
revoke 'alice','t4'
四.kadmin进入hbase的命令:
1.kinit test@TDH
2.klist -kt /etc/hyperbase1/hbase.keytab
3.kinit -kt /etc/hyperbase1/hbase.keytab hbase/gz232-110@TDH
4.hbase shell;