1、各存储类型连接-工具类
1、需引入各个存储类型sdk依赖2、Demo: @Slf4j public class JdbcUtil { private static String PHOENIX_DRIVER = "org.apache.phoenix.queryserver.client.Driver"; //private static final String PHOENIX_DRIVER = "org.apache.phoenix.jdbc.PhoenixDriver"; private static final String HIVE_DRIVER = "org.apache.hive.jdbc.HiveDriver"; private static final String ODPS_DRIVER = "com.aliyun.odps.jdbc.OdpsDriver"; /** * 获取odps连接 * @param record 数据源信息 * @return * @throws Exception */ public static Connection getOdpsConnection(DataSourceConfDO record) throws Exception { //odps.url=jdbc:odps:http://service.cn.maxcompute.aliyun.com/api?project=city_brain_dev1 ReqParamCheckUtil.objCheck(record, "数据源连接信息为空"); String url = "jdbc:odps:" + record.getEndpoint() + "?project=" + record.getProjectName(); Class.forName(ODPS_DRIVER); Connection conn = DriverManager.getConnection(url, record.getUserName(), record.getPassword()); log.debug("获取odps连接信息,连接成功"); return conn; } /** * 获取hive连接 * * @param record 数据源信息 * @return * @throws Exception */ public static Connection getHiveConnection(DataSourceConfDO record) throws Exception { ReqParamCheckUtil.objCheck(record, "数据源连接信息为空"); Class.forName(HIVE_DRIVER); Connection conn = DriverManager.getConnection(record.getEndpoint(), record.getUserName(), record.getPassword()); log.debug("获取hive连接信息,连接成功"); return conn; } /** * 获取phoenix连接 * * @param record 数据源信息 * @return * @throws Exception */ public static Connection getPhoenixConnection(DataSourceConfDO record) throws Exception { ReqParamCheckUtil.objCheck(record, "数据源连接信息为空"); Class.forName(PHOENIX_DRIVER); Connection conn = DriverManager.getConnection(record.getEndpoint(), record.getUserName(), record.getPassword()); log.debug("获取phoenix连接信息,连接成功"); return conn; } /** * 获取hbase连接信息 * @param dataSourceConf * @return * @throws IOException */ public static org.apache.hadoop.hbase.client.Connection getHBaseConnect(DataSourceConfDO dataSourceConf) throws IOException { ReqParamCheckUtil.objCheck(dataSourceConf, "数据源连接信息为空"); System.setProperty("hadoop.home.dir", "/"); Configuration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", dataSourceConf.getEndpoint()); conf.set("hbase.zookeeper.property.clientPort", dataSourceConf.getPort()); conf.set("log4j.logger.org.apache.hadoop.hbase", "WARN"); org.apache.hadoop.hbase.client.Connection conn = ConnectionFactory.createConnection(conf); return conn; } /** * 获取ots连接信息 * @param dataSourceConf * @return */ public static SyncClient getOtsClient(DataSourceConfDO dataSourceConf) { ReqParamCheckUtil.objCheck(dataSourceConf, "数据源连接信息为空"); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setConnectionTimeoutInMillisecond(5000); clientConfiguration.setSocketTimeoutInMillisecond(5000); clientConfiguration.setRetryStrategy(new AlwaysRetryStrategy()); SyncClient client = new SyncClient( dataSourceConf.getEndpoint(), dataSourceConf.getUserName(), dataSourceConf.getPassword(), dataSourceConf.getProjectName(), clientConfiguration); return client; } }