获取Admin 想操作一下就得先获取admin对象 调取封装好的工具类中方法
注意admin最后一定要close()
package com.doit.oneMore.client;
import com.doit.oneMore.tools.HbaseTools;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.client.Admin;
import java.io.IOException;
/**
* Author: reddy
* Date: 2020/7/17
* Description:
* 1.创建
* 2.删除
* 3.修改
* 4查看系统中所有的名称空间 以及信息
* 5.列出名称空间下的表
*/
public class NameSpaceDemo {
public static void main(String[] args) throws Exception {
// 获取Admin 想操作一下就得先获取admin对象 调取封装好的工具类中方法
Admin admin = HbaseTools.getHbaseAdmin();
//hbase 中是有nsname的 所以 只查这一个namespace可以用这个方法
admin.listTableNamesByNamespace("nsname");
//用此方法可以得到 namespaace数组
NamespaceDescriptor[] namespaceDescriptors = admin.listNamespaceDescriptors();
for (NamespaceDescriptor namespaceDescriptor : namespaceDescriptors) {
System.out.println(namespaceDescriptor.getName());
System.out.println(namespaceDescriptor.getConfiguration());
}
//删除空间
admin.deleteNamespace("iii");
NamespaceDescriptor.Builder doit = NamespaceDescriptor.create("Doit");
//属性设置 或者更新属性
doit.addConfiguration("author","reddy2");
doit.removeConfiguration("author");//移除属性
NamespaceDescriptor build = doit.build();
admin.modifyNamespace(build);
//调用创建名称空间方法
createMyNameSpace(admin,"nsname");
admin.close();
}
private static void createMyNameSpace(Admin admin,String nsname) throws IOException {
NamespaceDescriptor.Builder namespace = NamespaceDescriptor.create(nsname);
//属性设置
namespace.addConfiguration("author","reddy");
//创建NameSpaceDescriptor对象
NamespaceDescriptor build = namespace.build();
admin.createNamespace(build);
}
}