博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase之表空间
阅读量:7076 次
发布时间:2019-06-28

本文共 3743 字,大约阅读时间需要 12 分钟。

1、介绍在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。2、namespaceHBase系统默认定义了两个缺省的namespacehbase:系统内建表,包括namespace和meta表default:用户建表时未指定namespace的表都创建在此创建namespace:hbase(main):010:0* create_namespace 'datamanage'查看namespace:hbase(main):011:0> describe_namespace 'datamanage'  DESCRIPTION                  {NAME =>'datamanage'}                                                                                                                 列出所有namespace:hbase(main):012:0> list_namespace	NAMESPACE	 datamanage                                                                                                                        	 default   	 hbase    在namespace下创建表:        hbase(main):013:0> create 'datamanage:testtable','colfam01'    => Hbase::Table - datamanage:testtable查看namespace下的表hbase(main):015:0> list_namespace_tables 'datamanage'	TABLE                     testtable    删除namespace:hbase(main):016:0> drop_namespace 'datamanage'ERROR: org.apache.hadoop.hbase.constraint.ConstraintException: Only empty namespaces can be removed. Namespace datamanage has 1 tables        at org.apache.hadoop.hbase.master.TableNamespaceManager.remove(TableNamespaceManager.java:200)        at org.apache.hadoop.hbase.master.HMaster.deleteNamespace(HMaster.java:2488)        at org.apache.hadoop.hbase.master.MasterRpcServices.deleteNamespace(MasterRpcServices.java:489)        at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55730)        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2178)        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)        at java.lang.Thread.run(Thread.java:745)Here is some help for this command:Drop the named namespace. The namespace must be empty.#删除表hbase(main):017:0> disable 'datamanage:testtable'hbase(main):018:0> drop 'datamanage:testtable'#删除datamanage命名空间hbase(main):019:0> drop_namespace 'datamanage'

 java API:

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.Admin;import org.apache.hadoop.hbase.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;/** * Hbase namespace */public class NameSpaceInHbase {    public static void main(String[] args) throws IOException {        Configuration conf = HBaseConfiguration.create();        Connection connection = ConnectionFactory.createConnection(conf);        //管理员对象        Admin admin = connection.getAdmin();        //创建命名空间        NamespaceDescriptor namespaceDescriptor = NamespaceDescriptor.create("datastrom3").build();        admin.createNamespace(namespaceDescriptor);        //表名        TableName tableName = TableName.valueOf("datastrom3","testtable3");        //表描述        HTableDescriptor desc = new HTableDescriptor(tableName);        //列族描述datastrom        HColumnDescriptor coldef = new HColumnDescriptor(Bytes.toBytes("colfam3"));        //表加入列族        desc.addFamily(coldef);        //创建表        admin.createTable(desc);        //校验表是否可用        boolean avail = admin.isTableAvailable(tableName);        System.out.println("Table available: "+avail);    }}/** preHell: ======== nextShell: hbase(main):005:0> list TABLE testtable2 user 2 row(s) in 0.0070 secondsjava output: ===== Table available: trueshell: ===== hbase(main):022:0> list TABLE datastrom3:testtable3 ...  **/

 

转载于:https://www.cnblogs.com/similarface/p/5821224.html

你可能感兴趣的文章
python中的str.strip()的用法
查看>>
递归函数
查看>>
Shell 输入/输出重定向
查看>>
go package包的使用
查看>>
MongoDB学习笔记Day3
查看>>
spark学习1(hadoop集群搭建)
查看>>
ABP源码分析三十二:ABP.SignalR
查看>>
复选框提交功能
查看>>
windows 7 64位 安装oracle 11g R2
查看>>
Spring @Resource, @Autowired and @Inject 注入
查看>>
微服务学习笔记二:Eureka服务注册发现
查看>>
获取免费代理推荐
查看>>
bootstrap 不兼容ie8 的问题
查看>>
silverlight 动态类创建和使用
查看>>
BZOJ1010:[HNOI2008]玩具装箱TOY(斜率优化DP)
查看>>
mvn 主要命令说明
查看>>
利用beans.xml进行简单的Spring应用上下文创建与使用
查看>>
jeecg入门操作—菜单管理
查看>>
HDU 2066(dijkstra算法模板题)
查看>>
读取文件操作
查看>>