package com.huami.devops;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xiaomi.infra.galaxy.sds.client.ClientFactory;
import com.xiaomi.infra.galaxy.sds.thrift.AdminService;
import com.xiaomi.infra.galaxy.sds.thrift.CommonConstants;
import com.xiaomi.infra.galaxy.sds.thrift.Credential;
import com.xiaomi.infra.galaxy.sds.thrift.ServiceException;
import com.xiaomi.infra.galaxy.sds.thrift.TableSpec;
import com.xiaomi.infra.galaxy.sds.thrift.UserType;
import libthrift091.TException;
public class CopySDSTable {
private static ClientFactory clientFactory;
private static AdminService.Iface adminClient;
private static String secretKeyId = "";
private static String secretKey = "";
private static UserType userType = UserType.APP_SECRET;
private String 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";
public CopySDSTable(String endpoint){
this.endpoint = endpoint;
init();
}
private void init() {
Credential credential = new Credential().setSecretKey(secretKey).setSecretKeyId(secretKeyId).setType(userType);
clientFactory = new ClientFactory().setCredential(credential);
adminClient = clientFactory.newAdminClient(endpoint + CommonConstants.ADMIN_SERVICE_PATH, 50000, 30000);
}
private void CopyTable(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 void main(String[] args){
CopySDSTable ct = new CopySDSTable("https://awsbj0.sds.api.xiaomi.com");
ct.CopyTable(tableName, tableName1);
}
}