Hive的数据封装和Mysql一样,测试环境的时候可以使用mysql进行测试,写一个dev和prod切换的方法
问题背景
公司中有时候生产环境并不好连接,hive的测试并不方便,可以选择再mysql里面写数据,进行简单的测试
Hive和Mysql的连接切换
1 application配置文件,现在是dev开发环境,也就是我需要连接mysql进行测试
spring:
profiles:
active: dev
2 代码切换方法,使用Environment获取配置文件,DataSource获取mysql的connection
@Autowired
Environment env;
@Resource(name = "masterDataSource")
DataSource dataSource;
public Connection getHiveConn() {
String profile = env.getProperty("spring.profiles.active", "prod");
if (StringUtils.equals("dev", profile)) {
try {
return dataSource.getConnection();
} catch (SQLException e) {
log.error("SQLException", e);
}
}
return hiveDataSourceUtil.getHiveConn();
}
3 当要在生产环境中使用时,更改active为prod即可
spring:
profiles:
active: prod
总结
- 这样不用老打包切换环境,在启动的时候更改一下active就行啦
作为程序员第 91 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …