【发布时间】:2018-07-11 19:00:39
【问题描述】:
我正在尝试在 Spark 中实现机器学习算法。基本思想是将数据拆分为 N 个分区,并在每个单独的数据集分区上分别学习 N 个单独的模型。在预测期间,我们轮询这 N 个模型并获取它们的 o/p 并将它们组合起来。
a) 将数据分成 N 个部分,我们使用 repartition(N)
b) 在我们使用的每个分区上学习模型mapPartitionsWithIndex
问题是多个分区映射到同一台物理机——它在同一物理节点上启动多个模型构建(由mapPartitionsWithIndex 调用)——导致节点耗尽内存(我们已最大化执行程序记忆)。
有没有更好的设计方法?
【问题讨论】:
-
你是在不同的分区上学习相同的模型,还是在不同的分区上学习不同的模型?
标签: python apache-spark machine-learning