转载自:Hbase常用命令。该文中的命令在Hbase-1.3.0中收集。
1、介绍
Hbase是一个NoSQL(Not only SQL)数据库。HBase通过三级定位检索数据,一是行,二是列族和列,三是时间戳(版本)。它是按列存储,按行排序。一张表可以有多个列族,一个列族可以有多个列。它的表的展示如下:

2、namespace
- hbase:系统内建表,包括namespace和meta表
- default:用户建表时未指定namespace的表都创建在此
- hbase>create_namespace 'ai_ns'
- hbase>drop_namespace 'ai_ns'
- hbase>describe_namespace 'ai_ns'
- hbase>list_namespace
- hbase>create 'ai_ns:testtable', 'fm1'
- hbase>list_namespace_tables 'ai_ns'
3、授权
- hbase>grant 'tenant-A' 'W' '@ai_ns'
- hbase>revoke 'tenant-A''@ai_ns'
- hbase>namespace_create 'hbase_perf'
- hbase>grant 'mike', 'W', '@hbase_perf'
- hbase>create 'hbase_perf.table20', 'family1'
- hbase>create 'hbase_perf.table50', 'family1'
- hbase>grant 'alice', 'W', '@hbase_perf'
- hbase>scan 'hbase_perf:table20'
- hbase>grant 'alice', 'RW', 'hbase_perf.table20'
- hbase>grant 'alice', 'RW', 'hbase_perf.table50'
- <property>
- <name>hbase.security.authorization</name>
- <value>true</value>
- </property>
- <property>
- <name>hbase.coprocessor.master.classes</name>
- <value>org.apache.hadoop.hbase.security.access.AccessController</value>
- </property>
- <property>
- <name>hbase.coprocessor.region.classes</name>
- <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
- </property>
4、表
向表写入数据:
hbase>put 'ns1:t1','row1','f1:id',100 //向namespace为ns1的表t1,行row1,列族f1,,列id写入值100
获取数据:
hbase>get 'ns1:t1', 'row1' //获取namespace为ns1,的表t1,行row1的数据,会获取该行所有列族
hbase>get 'ns1:t1', 'row1','f1' //获取namespace为ns1,的表t1,行row1,列族f1的数据,获取该行指定列族
添加列族:
hbase>alter 'ns1:t1', NAME => 'f2' //添加列族f2
查看表结构:
hbase>desc 'ns1:t1'
删除列族:
hbase> alter 'ns1:t1', NAME => 'f1', METHOD => 'delete' //删除表t1的f1列族
hbase> alter 'ns1:t1', 'delete' => 'f1'
本文介绍了HBase中的Namespace概念及其管理命令,包括创建、删除、查看等操作,并详细讲解了如何进行表级和Namespace级别的授权操作,以实现资源隔离及安全性提升。
2704

被折叠的 条评论
为什么被折叠?



