1 package com.liveyc.common.utils;
2
3 import java.util.List;
4
5 import org.apache.hadoop.hbase.util.Bytes;
6 import com.liveyc.datarecover.utils.FileToHbase;
7 public class NewTable {
8 public static void main(String[] args) throws Exception {
9 createTable("20171201","20181201");
10 }
11 public static void createTable(String bDate,String eDate) throws Exception{
12 List<String> dateList = FileToHbase.dateList(bDate, eDate);
13 byte[][] regions = new byte[dateList.size()][];
14 //根据时间段获取region,新建表
15 for(String d : dateList){
16 regions[dateList.indexOf(d)] = Bytes.toBytes(d);
17 }
18 String[] family = {"Fileinfo","Archiveinfo"};
19 String tableName = "view_store";
20 HbaseUtils.creatTable(tableName,family ,regions);
21 }
22 }
1 /**
2 * 创建表
3 * @param tableName 表名
4 * @param family 列族
5 * @param regions region
6 * @throws Exception
7 */
8 public static void creatTable(String tableName, String[] family,byte[][] regions)
9 throws Exception {
10 HBaseAdmin admin = new HBaseAdmin(conf);
11 HTableDescriptor desc = new HTableDescriptor(tableName);
12 for (int i = 0; i < family.length; i++) {
13 desc.addFamily(new HColumnDescriptor(family[i]));
14 }
15 if (admin.tableExists(tableName)) {
16 System.out.println("table Exists!");
17 //System.exit(0);
18 } else {
19 if(regions != null){
20 admin.createTable(desc,regions);
21 System.out.println("create table Success!");
22 }else{
23 admin.createTable(desc);
24 System.out.println("create table Success!");
25 }
26
27
28 }
29 }