在rdd.TreeAggregate中获得更多减少任务

时间:2015-10-14 07:07:53

标签: apache-spark rdd apache-spark-mllib

另一个Spark问题!

因此,我使用mllibs原生SVMWithSGD训练SVM模型。训练rdd分为114个分区,每个分区约2700个实例。

每个迭代作业分为两个阶段。第一阶段,与我的节点线性比例。然而,第二阶段只分为10个左右的任务,远远少于可用的V核,因此这个阶段不能线性扩展。

我希望将此阶段划分为更多任务,以便更多执行程序可以并行处理它。有没有办法去做呢?

此外还有一个庞大的调度程序延迟,我已经了解执行程序和调度程序之间的通信所需的时间。

1 个答案:

答案 0 :(得分:1)

您的要素向量的维度是什么? 2700个训练实例的114个分区只有300k个训练样例。根据维度,您应该考虑将RDD重新划分为更少数量的分区(例如5-10)。