classes.add(clazz);
}
public void updateSchema() throws IOException {
Configuration config = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(config);
HTableDescriptor[] descriptors = admin.listTables();
List<String> tables = new ArrayList<String>();
for (HTableDescriptor hTableDescriptor : descriptors) {
tables.add(hTableDescriptor.getNameAsString());
}
for (Class<?> clazz : classes) {
ClassInfo info = ClassInfo.getClassInfo(clazz);
String tableName = info.tableName;
if(!tables.contains(tableName)) {
// create table
HTableDescriptor descriptor = createTable(tableName);
admin.createTable(descriptor);
}
tables.remove(tableName);
}
for (String table : tables) {
admin.disableTable(table);
admin.deleteTable(table);
}
}