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;
}
}