hbase java 增加列族

hbase版本  1.1.2 

通过java程序需要给现有的表增加一个列族,但是实际操作的时候发现表没有起来。可能的原因是连接超时,所以最好用异步方式.

  /**Enable a table.  May timeout.  Use {@link #enableTableAsync(org.apache.hadoop.hbase.TableName)}
   * and {@link #isTableEnabled(org.apache.hadoop.hbase.TableName)} instead */

Admin adminManger = conn.getAdmin();
TableName t = TableName.valueOf(HBASE_BIGTABLE);
adminManger.disableTable(t);
HTableDescriptor htd = adminManger.getTableDescriptor(t);
HColumnDescriptor f = new HColumnDescriptor("f"); //新增列族
f.setTimeToLive(TIME_TO_LIVE);
htd.addFamily(f);
adminManger.addColumn(t, f);
// adminManger.modifyTable(t, htd);
//可能会造成超时,所以用async(异步的方法好)
// adminManger.enableTable(t);
adminManger.enableTableAsync(t);

 

posted on 2015-12-03 13:15  不屈的心  阅读(1647)  评论(0编辑  收藏  举报