我正在解决Spark中的一种资源分配问题。
假设从预选项目列表中有人员和他们想要的项目列表。
例如:
预先选择的项目列表是I1,I2,I3
另一个列表是人们的愿望清单:
P1 want I1
P2 wants I1
P3 wanta I2
P4 wants I3
这个列表继续行十亿行。
现在,由于每个项目的库存有限,用户希望我能想象的唯一解决方案是顺序。
如果我想与Spark并行,我找不到任何可用于拥有共享,强一致状态的数据结构/类型,我可以在分配一个项目后减少库存。
我查看了Apache Ignite,但我找不到在同一个工作中使用它的方法,但是找到了所有执行程序。
Spark中是否有一些我不知道的共享缓存内容?
或者是否有一些其他框架具有我可以利用的Spark的速度和弹性?
答案 0 :(得分:2)
如果您想要共享spark数据,可以使用Apache Ignite。它与spark集成 - IgniteRDD,它将帮助您将所有数据存储在缓存中,然后从不同的地方访问它。
此整合的切入点:https://ignite.apache.org/features/igniterdd.html
文档:https://apacheignite-fs.readme.io/v2.1/docs/ignitecontext-igniterdd