大数据全系列 教程
1869个小节阅读:465.4k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
####3.2.4 创建表
xxxxxxxxxx
/**根据指定的表名和列族名称创建表
* @param tableName:表名称
* @param cfs:列族名
*/
public static void createTable(String tableName,String... cfs) throws Exception {
//1.判断表名的是否为空
if(tableName==null || "".equals(tableName.trim())){
System.out.println("表名不能为空");
return;
}
//2.验证列族信息的合法性
if(cfs==null||cfs.length<=0){
System.out.println("至少需要一个列族");
return;
}
//3.将字符串类型的表名转为TableName对象
TableName tableNameObj = TableName.valueOf(tableName);
//4.获取admin对象
Admin admin = connection.getAdmin();
//5.判断表是否存在
if(admin.tableExists(tableNameObj)){
System.out.println("该表已经存在!");
admin.close();
connection.close();
return;
}
//6.创建表描述器对象
TableDescriptorBuilder tableDescriptorBuilder = TableDescriptorBuilder.newBuilder(tableNameObj);
//7.遍历cfs,设置列族信息
for(String cf : cfs){
//8.使用列族名称,构造ColumnFamilyDescriptorBuilder对象
ColumnFamilyDescriptorBuilder columnFamilyDescriptorBuilder =
ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(cf));
//9.将列族信息添加到表描述器对象
tableDescriptorBuilder.setColumnFamily(columnFamilyDescriptorBuilder.build());
}
//10.tableDescriptorBuilder构造成TableDescriptor
TableDescriptor tableDesc = tableDescriptorBuilder.build();
//11.创建表
admin.createTable(tableDesc);
//12.关闭资源
admin.close();
connection.close();
}