Ignite上的Spark是否使用Ignite的作业窃取?

问题描述:

我使用spark来执行map-reduce作业,但我遇到的一个问题是,当一个工作人员完成其任务份额并且其他工作人员将任务列入其任务列表中时,空闲工作人员只是闲置。 Ignite支持作业窃取,因此当工作人员处于空闲状态时,可以从其他工作人员获取任务队列。Ignite上的Spark是否使用Ignite的作业窃取?

https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html

IgniteRDD是在Ignite集群上运行的火花RDD的实现。我想知道是否我所有的spark RDD map reduce代码都保持不变,但将其设置为具有作业窃取算法设置的点火群集,并将Spark JavaRDD更改为IgniteRDD,这样它是否会尊重作业窃取设置,还是会与旧作相同为工作者算法启动静态分区。

我试过搜索,但还没有确定的答案。另外,需要做大量的工作来获得点燃的东西来测试,所以我想IDE首先要问。

Collision SPI(JobStealingCollisionSpi作为可用实现之一)在Apache Ignite环境中进行计算所需。你是对的,IgniteRDD提供了与老火花静态分区相同的工作者算法。如果您确实需要“偷工减料”算法,则可以尝试将应用程序移至Compute API。 Apache Ignite提供友好的API并允许进行微调。更多详情你可以在那里找到https://apacheignite.readme.io