本文是hbase1.2.5,使用java对表相关的操作,直接上代码
package com.sdnware.start04.hbase;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.TableName;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* Hbase 对表的操作
* @author chenb.bob
* 2017年5月9日
*
*/
public class HBaseTableTools {
private static Logger LOG = LoggerFactory.getLogger(HBaseTableTools.class);
private static Configuration conf = null;
static {
System.setProperty("hadoop.home.dir", "E:/soft/hadoop-2.6.0");
conf = HBaseConfiguration.create();
}
/**
*
* desc:判断命名空间是否存在
* author:chen.bob
* time:2017年5月9日 下午2:30:13
* @param namespaceName
* @return
*/
public static boolean namespaceExists(String namespaceName){
Connection connection = null;
Admin admin = null;
try {
connection = ConnectionFactory.createConnection(conf);
admin = connection.getAdmin();
NamespaceDescriptor namespaceDescriptor = admin.getNamespaceDescriptor(namespaceName);
LOG.info("获取表空间信息:"+namespaceDescriptor.getConfiguration());
return Boolean.TRUE;
} catch (IOException e) {
LOG.error("获取命名空间失败,查看日志查看命名空间"+namespaceName+"是否存在",e);
return Boolean.FALSE;
} finally{
if(null != admin){
try {
admin.close();
} catch (IOException e) {
}
}
if(null != connection){
try {
connection.close();
} catch (IOException e) {
}
}
}
}
/**
*
* desc:创建命名空间
* author:chen.bob
* time:2017年5月9日 下午2:17:10
* @param namespaceName
* @return
*/
public static boolean createNamespace(String namespaceName) {
Connection connection = null;
Admin admin = null;
try {
connection = ConnectionFactory.createConnection(conf);
admin = connection.getAdmin();
NamespaceDescriptor namespaceDescriptor = NamespaceDescriptor.create(namespaceName).build();
//namespaceDescriptor.setConfiguration("hbase.namespace.quota.maxregion", "10");
//namespaceDescriptor.setConfiguration("hbase.namespace.quota.maxtables", "10");
admin.createNamespace(namespaceDescriptor);
return Boolean.TRUE;
} catch (IOException e) {
return Boolean.FALSE;
}