Apache spark 基于Spark的项目分配算法
我正在研究Spark中的一种资源分配问题 假设有一个人员列表和一个他们想要从预选项目列表中获取的项目 例如: 预选项目列表为I1、I2、I3 另一份清单是人们的愿望清单:Apache spark 基于Spark的项目分配算法,apache-spark,ignite,Apache Spark,Ignite,我正在研究Spark中的一种资源分配问题 假设有一个人员列表和一个他们想要从预选项目列表中获取的项目 例如: 预选项目列表为I1、I2、I3 另一份清单是人们的愿望清单: P1 want I1 P2 wants I1 P3 wanta I2 P4 wants I3 这个列表有十亿行 现在,由于每个项目的库存有限,用户想要的唯一解决方案是顺序 如果我想与Spark并行,我找不到任何数据结构/类型可以用于共享、强一致的状态,在分配一个项目后,我可以减少库存 我查看了ApacheIgnite,
P1 want I1
P2 wants I1
P3 wanta I2
P4 wants I3
这个列表有十亿行
现在,由于每个项目的库存有限,用户想要的唯一解决方案是顺序
如果我想与Spark并行,我找不到任何数据结构/类型可以用于共享、强一致的状态,在分配一个项目后,我可以减少库存
我查看了ApacheIgnite,但我找不到一种方法在同一个作业中使用它,但与所有执行器一起使用
Spark中是否有我不知道的共享缓存
或者我可以在这里利用其他具有Spark的速度和弹性的框架吗?如果您想共享Spark数据,可以使用ApacheIgnite。它与spark-IgniteRDD集成,这将帮助您将所有数据存储在缓存中,然后从不同的位置访问数据 此集成的入口点:
文档:如果您想共享spark数据,可以使用ApacheIgnite。它与spark-IgniteRDD集成,这将帮助您将所有数据存储在缓存中,然后从不同的位置访问数据 此集成的入口点:
文档:对于我来说,不清楚您试图实现什么。这是否意味着更多的人在购物车中拥有相同的商品,然后商品就可以买到?@RaphaelRoth是的。。问题是,在该列表中有一个项目的人数多于其在库存中的实际可用数量。因此,我需要做一些分配。对我来说,不清楚你试图实现什么。这是否意味着更多的人在购物车中拥有相同的商品,然后商品就可以买到?@RaphaelRoth是的。。问题是,在该列表中有一个项目的人数多于其在库存中的实际可用数量。因此,我需要进行某种分配。IgniteRDD可以帮助我在同一个Spark作业的不同执行者之间共享数据吗?IgniteRDD下有一个简单的Ignite缓存,因此我看不到这里有任何问题。IgniteRDD可以同时更新并且每个执行者都可以看到更新吗?您检查了我提供的链接吗?只要看一下文档,上面提到了你需要的一切是的,我看过了。但该示例显示了一个创建IgniteRDED的作业对其进行更改,然后另一个作业可以读取第一个作业离开的状态。我现在的问题是,我不想维护一些共享状态,这些共享状态将由不同的执行者同时更新和读取。IgniteRDD套件有这样的用例吗?IgniteRDD可以帮助我在同一个Spark作业的不同执行者之间共享数据吗?IgniteRDD下有一个简单的Ignite缓存,所以我看不到这里有任何问题。IgniteRDD可以同时更新并且每个执行者都可以看到更新吗?你检查过我提供的链接了吗?只要看一下文档,上面提到了你需要的一切是的,我看过了。但该示例显示了一个创建IgniteRDED的作业对其进行更改,然后另一个作业可以读取第一个作业离开的状态。我现在的问题是,我不想维护一些共享状态,这些共享状态将由不同的执行者同时更新和读取。IgniteRDSuite是否有这样的用例?