packagecom.huami.devops;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.xiaomi.infra.galaxy.sds.client.ClientFactory;importcom.xiaomi.infra.galaxy.sds.thrift.AdminService;importcom.xiaomi.infra.galaxy.sds.thrift.CommonConstants;importcom.xiaomi.infra.galaxy.sds.thrift.Credential;importcom.xiaomi.infra.galaxy.sds.thrift.ServiceException;importcom.xiaomi.infra.galaxy.sds.thrift.TableSpec;importcom.xiaomi.infra.galaxy.sds.thrift.UserType;importlibthrift091.TException;public classCopySDSTable {private staticClientFactory clientFactory;private staticAdminService.Iface adminClient;private static String secretKeyId = "";private static String secretKey = "";private static UserType userType =UserType.APP_SECRET;privateString endpoint;private static final Logger LOG = LoggerFactory.getLogger(CopySDSTable.class);private static String tableName = "srctable";private static String tableName1 = "tartable1";private static String tableName2 = "tartable-02";publicCopySDSTable(String endpoint){this.endpoint =endpoint;
init();
}private voidinit() {
Credential credential= newCredential().setSecretKey(secretKey).setSecretKeyId(secretKeyId).setType(userType);
clientFactory= newClientFactory().setCredential(credential);
adminClient= clientFactory.newAdminClient(endpoint + CommonConstants.ADMIN_SERVICE_PATH, 50000, 30000);
}private voidCopyTable(String OldTable,String NewTable){
TableSpec tableSpec= null;try{
tableSpec=adminClient.describeTable(OldTable);
LOG.debug("get tablespec.");
LOG.info("aaaaaaaaaaa");
}catch(TException e) {//TODO Auto-generated catch block
e.printStackTrace();
LOG.error(e.getMessage(), e.getCause());
}try{
adminClient.createTable(NewTable, tableSpec);
}catch(ServiceException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(TException e) {//TODO Auto-generated catch block
e.printStackTrace();
LOG.error(e.getMessage(), e.getCause());
}
}public static voidmain(String[] args){
CopySDSTable ct= new CopySDSTable("https://awsbj0.sds.api.xiaomi.com");
ct.CopyTable(tableName, tableName1);
}
}