1
我在分为两个部分的作业:火花 - 执行期间变化的并行
- 第一部分使用火花
- 的seoncd部分计算重CPU密集型ML算法
问题是,如果执行者/内核数量很多,HBase集群会受到过分强烈的质疑,这可能会导致生产不稳定。由于执行器/内核太少,ML计算需要很长时间才能执行。
由于在启动时设置了执行程序和内核的数量,我想知道是否有办法减少作业的第一部分的执行程序编号。
我显然希望避免运行像Hadoop这样的两个单独的作业,在这两个步骤之间执行mandary磁盘序列化。
感谢您的帮助
感谢您的帮助。 “你的RDD尺寸稍微增加一点”意味着什么。它是否将数据检索分为10个RDD,然后将它们联合起来? – ogen
我认为,如果我的理解正确(您希望减少分区数量并减少应用程序的运行速度),在每个阶段重新分配RDD的方式,尤其是针对您的情况的最早分析方法。在这个阶段,你需要更多的执行者,并且你希望有更多的执行者用更多的分区进行重新分区,动态分配可以完成剩下的部分。 使用您的explain()来确保它在每个步骤中始终表现得像你想要的那样。 –