为什么treeAggregate总是将分区更改为70?

时间:2015-12-14 06:47:52

标签: apache-spark logistic-regression

背景:
我有几十亿行,我需要用它来运行逻辑回归。我选择L-BFGS,它在面对一个小数据集(1亿)时成功,但在面对数十亿行时总是失败。

我读了日志,发现了这个错误:

Job aborted due to stage failure: Task 54 in stage 37.0 failed 4 times, most recent failure: 
    Lost task 54.3 in stage 37.0 (TID 79670, 10.215.155.83):
        java.lang.OutOfMemoryError: Requested array size exceeds VM limit

由以下方式触发:

treeAggregate at StandardScaler.scala:55

我发现函数treeAggregate似乎将分区号更改为70,我将其设置为5000.它解释了OOM,但我不知道为什么,我想知道如何将其更改为5000以避免OOM(VM的内存限制为14G,无法更改)。

0 个答案:

没有答案