背景
Hive数据库说实话,对于我个人来说,非常不喜欢。其中一个主要原因就是Hive的驱动依赖太多了。为了让大家用的容易,有些网友把Hive的驱动和依赖打包成一个jar包,但接下来出现两个新问题。
1.jar包好大
2.和其他的应用冲突的很厉害
对于DBCS研发团队来说,尽管非常不喜欢Hive,但毕竟不少客户仍在使用,不挑食是我们的团队的优良传统,所以还是硬着头皮解决吧。如下的文章告诉大家,如何使用DBCS对Hive和数据湖产品进行管理。
1.管理原生Hive3.1.3
2.管理腾讯数据湖DLC3.5.3
DBCS管理Hive3.1.3
DBCS已经把原生Hive的驱动进行了封装,去除了无用依赖,因此连接原生的Hive无需做任何额外的配置,大家和使用其他数据库一样即可。

连接成功会为如下界面:

DBCS管理腾讯数据湖DLC3.5.3
如果你用和原生Hive相同的方法去连接腾讯数据湖,会出现莫名其妙的连接失败,因为腾讯DLC在Hive上做了很多扩展,所以原生的hive驱动已经不能满足。

遇到如上情况,先去腾讯网站下载标准的腾讯数据湖驱动
https://cloud.tencent.com/document/product/1342/106007

然后把下载的驱动放在DBCS的安装目录中,把之前叫做hive.jar重命名为hive.jar.bak,把腾讯的驱动重命名为hive.jar。如下这个快70M的驱动,就是你刚才下载的驱动。

替换hive驱动后,还会弹出如下错误。这个问题是腾讯数据湖驱动中自带的slf4j和DBCS 中用的冲突。

别放弃,剩下最后一步了。用DESK把slf4j的包删除,然后保存。

删除slf4j后的hive.jar会比之前的小一点,如下图所示:

终于,你要成功连接腾讯数据湖了。注意:腾讯湖的连接信息中包括密钥,因此登录时候弹出密码对话框,点击确定即可。

太不容易了,但还是成功了,看看腾讯数据库界面吧......

总结
Hive和数据湖的管理是比较麻烦的,原因就是由于历史Hive驱动依赖的库非常多,而且会和你当前系统中正在使用的库冲突。DBCS对于Hive的驱动使用单独加载技术,即便这样还是和slf4j有了一点冲突。无论怎么说,最后连接成功了。如果你为Hive或者数据湖管理发愁的时候,不妨试试DBCS吧。