hbase 创建命名空间以及判断表格是否存在 创建表格
public class HbaseDDL { public static Connection connection = DButil.getConnection(); //创建命名空间 /** * 创建命名空间 * @param namespace 命名空间名称 */ public static void Creatnamespace(String namespace){ //获取admin Admin admin = null; try { admin = connection.getAdmin(); } catch (IOException e) { e.printStackTrace(); } //2调用方法创建命名空间 //2.1创建命名空间描述的建造者 =>设计师 NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(namespace); //2.2给建造者添加需求 builder.addConfiguration("user","baigeihan"); //2.3使用builder构造出特定的对象 try { admin.createNamespace(builder.build()); } catch (IOException e) { System.out.println("命名空间已经存在"); e.printStackTrace(); } //关闭admin try { admin.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 判断表格是否存在 * @param namespace 命名空间名称 * @param tablename 表格名称 * @return 是否存在 */ public static boolean isTableExists(String namespace,String tablename) throws IOException { //1.创建admin Admin admin = connection.getAdmin(); //2.使用方法判断表格是否存在 boolean b = false; try { b = admin.tableExists(TableName.valueOf(namespace, tablename)); } catch (IOException e) { e.printStackTrace(); } //3.关闭连接 admin.close(); return b; } /** * 创建表格 * @param namespace 命名空间 * @param tablename 表格名称 * @param columnFamiles 列族 */ public static void Createtable(String namespace,String tablename,String... columnFamiles) throws IOException { //判断列族个数 if(columnFamiles.length == 0){ System.out.println("列族至少要有一个"); return; } //判断表哥是否存在 if (isTableExists(namespace,tablename)){ System.out.println("表格已经存在"); return; } //1.获取admim Admin admin = connection.getAdmin(); //2.调用方法创建表格 //2.1 创建表格描述的建造者 TableDescriptorBuilder tableDescriptorBuilder = TableDescriptorBuilder.newBuilder(TableName.valueOf(namespace, tablename)); //2.2添加参数 for(String rolumnFamily : columnFamiles){ //创建列族的描述者 ColumnFamilyDescriptorBuilder columnFamilyDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(rolumnFamily)); //2.4对应当前列族添加参数 //添加版本参数 columnFamilyDescriptorBuilder.setMaxVersions(5); //创建添加完参数的的列族描述 tableDescriptorBuilder.setColumnFamily(columnFamilyDescriptorBuilder.build()); } //创建对应的表格描述 try { admin.createTable(tableDescriptorBuilder.build()); } catch (IOException e) { System.out.println("表格已经存在"); e.printStackTrace(); } admin.close(); } public static void main(String[] args) throws IOException { Createtable("one","student","info","msg"); } }