我使用spark来执行map-reduce作业,但我遇到的一个问题是,当一个工人完成其任务共享而其他工作人员将任务列入其任务列表时,空工作人员就会闲置。 Ignite支持Job Stealing,因此当一个worker空闲时,它可以从其他worker任务队列中获取。
IgniteRDD是在Ignite群集上运行的spark RDD的实现。我想知道我是否保持所有我的火花RDD地图减少代码相同,但运行它是一个点燃集群与工作窃取算法设置并将火花JavaRDD更改为IgniteRDD它会尊重工作窃取设置还是会与旧的相同spark static partition to worker algorithm。
我试过搜索但还没有明确答案。此外,需要做很多工作才能让点燃的东西进行测试,所以我想先问一下ide。
答案 0 :(得分:2)
在Apache Ignite环境中Compute所需的碰撞SPI(JobStealingCollisionSpi作为可用实现之一)。你是对的,IgniteRDD提供与旧的spark静态分区相同的worker算法。如果你真的需要一个“偷工作”算法,你可以尝试将你的应用程序转移到Compute API。 Apache Ignite提供友好的API并允许微调。您可以在https://apacheignite.readme.io
找到更多详细信息