问题描述
我的蜂巢数据库中有2000多个表。当我打算使用“ DROP DATABASE IF EXISTS MyDb CASCADE”删除整个数据库时,要花费超过6.5个小时的时间,具体取决于数据大小,因为有关分区的元数据增加。
我无法直接连接到hive-metastore(在本例中为postgress)放置数据库,因为我们对此受到限制。
因此,我开始研究使用线程并行删除表的选项。我可以看到我的线程正在产生,但是Hive正在一张一张地删除表。而且所花费的时间与以前完全一样。
但是,当我使用多线程代码创建表时,它的完成时间要短得多。与非线程代码相比。
我已将hive.support.concurrency设置为true。
是设计使然吗?Hive在数据库上一对一地处理drop table语句。
是Hortonworks集群 Hive版本:Apache Hive 1.2.1 火花版本:2.3.2
相当于Hortonworks沙盒2.6.5环境
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)