我听说cloudera set mem_limit=; 更像是油门而不是停车标志。然而,我的经验让我相信它是一个停止信号:它只是用一个错误使查询崩溃,而不是在查询超过内存限制时使查询更省钱。有没有证据支持这样一种观点: Impala 会让查询运行得更长,但速度较慢,内存更少,从而保持在内存限制阈值以下?
set mem_limit=;
5w9g7ksd1#
我可以证实这个“谣言”。我在 Impala 的磁盘溢出支持和其他内存管理上工作过,所以它确实存在并且工作。我可以更具体地给出一个版本和一个查询和错误的例子。随着我们修复和改进越来越多的案例,这一点从一个版本到另一个版本都得到了逐步的改进。 Impala 3.1有大部分的改进,但在那之前和之后都有显著的改进。在某些已知的情况下,即使是在最新和最强大的内存上,也会遇到超过内存限制的情况。例如,一个大的交叉连接最终会耗尽内存。
1条答案
按热度按时间5w9g7ksd1#
我可以证实这个“谣言”。我在 Impala 的磁盘溢出支持和其他内存管理上工作过,所以它确实存在并且工作。
我可以更具体地给出一个版本和一个查询和错误的例子。随着我们修复和改进越来越多的案例,这一点从一个版本到另一个版本都得到了逐步的改进。 Impala 3.1有大部分的改进,但在那之前和之后都有显著的改进。
在某些已知的情况下,即使是在最新和最强大的内存上,也会遇到超过内存限制的情况。例如,一个大的交叉连接最终会耗尽内存。