• java 复制SDS表为一个新表


    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);
        
        
    } 
    }
  • 相关阅读:
    Python——数据结构——字典
    Python——print()函数
    Python数据结构——序列总结
    elasticsearch全文检索java
    elasticsearch单例模式连接 java
    【转载】信号中断 与 慢系统调用
    设计模式——状态模式(C++实现)
    设计模式——观察者模式(C++实现)
    C++调用C方法
    设计模式——外观模式(C++实现)
  • 原文地址:https://www.cnblogs.com/husbandmen/p/7132570.html
Copyright © 2020-2023  润新知