spark-on-ignite是否使用ignite的作业窃取?

jjhzyzn0  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(295)

我使用spark来执行map reduce作业,但我遇到的一个问题是,当一个worker完成了它所分担的任务,而其他worker的任务在它们的任务列表中排队时,空的worker就一直处于空闲状态。ignite支持作业窃取,因此当一个工作线程空闲时,它可以从其他工作线程任务队列中获取作业。
https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/collision/jobstealing/jobstealingcollisionspi.html
igniterdd是在ignite集群上运行的spark rdd的实现。我想知道我是否保持所有的spark-rdd-map-reduce代码相同,但运行一个带有作业窃取算法集的ignite集群,并将spark-javard更改为igniterded它是否尊重作业窃取设置,还是与旧的spark-static-partition-to-workers算法相同。
我试着寻找,但还没有确定的答案。而且,要测试ignite需要很多工作,所以我想我应该先问一下。

xtupzzrd

xtupzzrd1#

ApacheIgnite环境中计算所需的冲突spi(jobstealingcollisionspi是可用的实现之一)。没错,igniterdd提供了与旧的spark静态分区到workers算法相同的功能。如果你真的需要一个“窃取工作”的算法,你可以尝试将你的应用程序移动到ComputeAPI。apacheignite提供了友好的api并允许微调。更多细节你可以在那里找到https://apacheignite.readme.io

相关问题