importjava.io.IOException;importorg.apache.hadoop.hbase.HColumnDescriptor;importorg.apache.hadoop.hbase.HTableDescriptor;importorg.apache.hadoop.hbase.TableName;importorg.apache.hadoop.hbase.util.Bytes;importjava.util.Scanner;importInit.Init;public classAlterTable {public static void main(String [] args) throwsIOException
{
meau();/*Scanner sc=new Scanner(System.in);
System.out.println("请输入创建数量");
int n=sc.nextInt();
for(int i=0;i
{
sc=new Scanner(System.in);
System.out.println("请输入修改表名");
String tb_name=sc.nextLine();
System.out.println("请输入列族名");
String colFamily=sc.nextLine();
addColFamily(tb_name,colFamily);
}*/
//delColFamily("Score","course");
}public static void meau() throwsIOException
{
Scanner sc= newScanner(System.in);
System.out.println("请选择:1.增加列族!!!2.删除列族!!!");int n=sc.nextInt();switch(n)
{case 1:
sc=newScanner(System.in);
System.out.println("请输入创建数量");int a=sc.nextInt();for(int i=0;i
{
sc=newScanner(System.in);
System.out.println("请输入修改表名");
String tb_name=sc.nextLine();
System.out.println("请输入列族名");
String colFamily=sc.nextLine();
addColFamily(tb_name,colFamily);
};case 2:
sc=newScanner(System.in);
System.out.println("请输入删除数量");int b=sc.nextInt();for(int i=0;i
{
sc=newScanner(System.in);
System.out.println("请输入修改表名");
String tb_name=sc.nextLine();
System.out.println("请输入列族名");
String colFamily=sc.nextLine();
delColFamily(tb_name,colFamily);
};
}
}public static void addColFamily(String tableName, String colFamily)throwsIOException
{
Init.init();
TableName tablename=TableName.valueOf(tableName);//判断表是否存在
if(Init.admin.tableExists(tablename)) {try{
Init.admin.disableTable(tablename);
HTableDescriptor tb_des= Init.admin.getTableDescriptor (tablename ); //获取表的描述
HColumnDescriptor newcol = new HColumnDescriptor( colFamily );//创建列族添加对象;为添加对象赋值
tb_des.addFamily(newcol);//添加列族
Init.admin.modifyTable(tablename, tb_des);
Init. admin.enableTable(tablename);
System.out.println(colFamily+"创建成功");
Init.close();
System.out.println("是否继续修改:1.继续修改!!!2.退出!!!");
Scanner sc=newScanner(System.in);int n =sc. nextInt();if(n==1)
{
meau();
}else{
System.out.println("谢谢使用");
}
}catch(Exception e) {//TODO : handle exception
e.printStackTrace();
}
}
}public static void delColFamily(String tableName, String colFamily)throwsIOException
{
Init.init();
TableName tablename=TableName.valueOf(tableName);//判断表是否存在
if(Init.admin.tableExists(tablename)) {try{
Init.admin.disableTable(tablename);
HTableDescriptor tb_des= Init.admin.getTableDescriptor (tablename ); //获取表的描述
tb_des.removeFamily(Bytes. toBytes (colFamily ));
Init.admin.modifyTable(tablename, tb_des);
Init. admin.enableTable(tablename);
System.out.println(colFamily+"删除成功");
Init.close();
System.out.println("是否继续修改:1.继续修改!!!2.退出!!!");
Scanner sc=newScanner(System.in);int n =sc. nextInt();if(n==1)
{
meau();
}else{
System.out.println("谢谢使用");
}
}catch(Exception e) {//TODO : handle exception
e.printStackTrace();
}
}
}
}