Spark的项目分配算法

时间:2017-11-01 11:06:51

标签: apache-spark ignite

我正在解决Spark中的一种资源分配问题。

假设从预选项目列表中有人员和他们想要的项目列表。

例如:

预先选择的项目列表是I1,I2,I3

另一个列表是人们的愿望清单:

P1 want I1

P2 wants I1

P3 wanta I2

P4 wants I3

这个列表继续行十亿行。

现在,由于每个项目的库存有限,用户希望我能想象的唯一解决方案是顺序。

如果我想与Spark并行,我找不到任何可用于拥有共享,强一致状态的数据结构/类型,我可以在分配一个项目后减少库存。

我查看了Apache Ignite,但我找不到在同一个工作中使用它的方法,但是找到了所有执行程序。

Spark中是否有一些我不知道的共享缓存内容?

或者是否有一些其他框架具有我可以利用的Spark的速度和弹性?

1 个答案:

答案 0 :(得分:2)

如果您想要共享spark数据,可以使用Apache Ignite。它与spark集成 - IgniteRDD,它将帮助您将所有数据存储在缓存中,然后从不同的地方访问它。

此整合的切入点:https://ignite.apache.org/features/igniterdd.html

文档:https://apacheignite-fs.readme.io/v2.1/docs/ignitecontext-igniterdd