另一个Spark问题!
因此,我使用mllibs原生SVMWithSGD训练SVM模型。训练rdd分为114个分区,每个分区约2700个实例。
每个迭代作业分为两个阶段。第一阶段,与我的节点线性比例。然而,第二阶段只分为10个左右的任务,远远少于可用的V核,因此这个阶段不能线性扩展。
我希望将此阶段划分为更多任务,以便更多执行程序可以并行处理它。有没有办法去做呢?
此外还有一个庞大的调度程序延迟,我已经了解执行程序和调度程序之间的通信所需的时间。
答案 0 :(得分:1)
您的要素向量的维度是什么? 2700个训练实例的114个分区只有300k个训练样例。根据维度,您应该考虑将RDD重新划分为更少数量的分区(例如5-10)。