有没有一种方法可以在不同的Spark阶段使用不同的内存量?
我有一个阶段确实需要大量内存,而一堆根本不需要太多内存。现在,我的工作是在工作的整个生命周期中保留大量内存,以满足饥饿的阶段,尽管在很短的时间内只需要那么多的内存。
最佳答案
您可以潜在地启用动态执行程序分配,并在非常占用内存的阶段中增加很高的分区,然后减少之后的分区。不幸的是,YARN不接受容器的动态大小调整,一旦请求它们就是静态的。当涉及内存密集型部分时,动态分配将至少允许您增加大量的工作人员。
关于hadoop - 在每个Spark阶段设置内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38363601/