package cn.hbase.ddl;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.HBaseAdmin;
/*
* 2015.10.28 给表添加列族
*/
public class AddFamliyTable {
public static void main(String[] args) throwsException {
//先创建配置文件,有两种方法,这里用的最简单,直接create
Configuration conf = HBaseConfiguration.create();
//创建连接,有了连接后,
HBaseAdmin admin = new HBaseAdmin(conf);
//判断一下,这个表是否在
if(admin.tableExists(TableName.valueOf("t_3"))){
//新添加列族alter 't_3',{Name=>'hobbies',VERSION=>5}
//先创建一个列族,才能给这个列族,添加属性
HColumnDescriptor newFamliy = new HColumnDescriptor("hobbies");
admin.addColumn(TableName.valueOf("t_3"), newFamliy);
}
admin.close();
}
}
-------------------------------------------------------------------------------------------------------------------------
总结:
必须先声明一个新列族new HColumnDescriptor("hobbies");
HBase shell 中的alter 命令,对应的java里的addColumn()方法
推荐阅读
- HBase的 rowkey 设计原则
- HBase 数据存储结构详细解读
- hadoop|Import/Export实现hbase集群间迁移
- HBase数据Export & Import
- 实战大数据,HBase 性能调优指南
- HBase tableExists() 作用就是判断某个表是否存在
- hbase|Hbase数据导出实例
- 大数据|HBase导出CSV格式数据的方法
- Hbase数据的导入导出以及优化