我找到了很多如何删除数据库及其所有表的答案,但是为什么删除每个表需要大约3-4秒,似乎是在SERIAL中(一个接一个)。
我有一个数据库,该数据库具有指向镶木地板位置的2,414个EXTERNAL表,DROP DATABASE <db> CASCADE;
可能需要1-2小时才能删除数据库的元数据。
[在一个单独的会话中,我可以重复SHOW TABLES IN <deleted DB>;
,并观察表的计数每3-4秒以大约1的速度下降。在会话释放删除内容之前,这可能需要2个小时以上的时间,并允许我们用新的数据库替换数据库...
504 rows selected (0.29 seconds) ... 503 rows selected (0.17 seconds) ... 502 rows selected (0.29 seconds) ...
Hive花了这么长时间?有可以用来使其更快的配置吗?有什么办法可以告诉我这段时间在做什么?
[我认为其他人会遇到这个问题,如果它更常见,那么我想我可以在某个地方进行调整以解决此问题(?)...
实木复合地板似乎并没有在删除的数据库下删除,因此它似乎与hdfs / parquet文件没有任何关系,除非由于任何原因删除外部表对其进行检查...
任何想法为什么会这么慢?
我发现了如何删除数据库及其所有表的很多答案,但是关于为什么删除每个表需要大约3-4秒的时间,似乎是在SERIAL中(一个接一个),所以没有任何答案。我有一个数据库,其中有...
AFAIK,它必须删除其所有引用。它可以是外部表,但是如果有很多来自metastore的分区,统计信息等。另外,如果它有很多行,则需要获取特定的锁。您可能需要检查元存储库(mysql或同等存储库),并查看是否可以定期引入任何索引或收集统计信息。